SóProvas


ID
280171
Banca
IADES
Órgão
CFA
Ano
2010
Provas
Disciplina
Engenharia de Software
Assuntos

A análise de sistemas no mundo orientado a objeto é feita analisando-se os objetos e os eventos que interagem com esses objetos. O projeto de software é feito reusando-se classes de objetos existentes e, quando necessário, construindo-se novas classes. Análise e projeto orientados a objeto modelam o mundo em termos de objetos que têm propriedades e comportamentos e eventos que disparam operações que mudam o estado dos objetos que interagem entre si. Sobre os conceitos ou ideias fundamentais da metodologia da análise de sistemas orientada a objeto, assinale a alternativa incorreta.

Alternativas
Comentários
  • a) Uma classe é a implementação de software de um tipo de objeto, podendo ser abstrata concreta (quando possui objetos instanciados a partir dela) ou concreta abstrata (quando não possui objetos criados a partir dela).
  • Fiquei um pouco confuso. Na letra c), eu posso ter um método que mexe em uma estrutura de outro objeto que faz parte do objeto que contêm o método, não? A letra d) não encontrei erros.
  • a) Uma classe é a implementação de software de um tipo de objeto, podendo ser abstrata (quando possui objetos instanciados a partir dela) ou concreta (quando não possui objetos criados a partir dela)

    Comentário: Ocorreu uma inversão de conceito.

    Como classes abstratas são modelos de classes, então, não podem ser instanciadas diretamente com o new, elas sempre devem ser herdadas por classes concretas.

    Fonte: http://www.tiexpert.net/programacao/java/classes-abstratas.php
  • Concordo com o Jusimar, apesar de não concordar com a letra C. Um método de uma classe pode usar qualquer tipo de objeto desde que este seja acessível ao objeto em que o método esteja.
  • Só complementando

    Uma classe é a implementação de software de um tipo de objeto, podendo ser abstrata (quando possui objetos instanciados a partir dela) ou concreta (quando não possui objetos criados a partir dela).

    Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares.

    Implementação de software é muito depois da Análise e Projeto, quando começa a implementar o diagrama de classes já tá feito, pelo menos as classes dos módulos que serão implementadas.
  • Classe Concreta: É uma classe que possui atributos, métodos construtores e outros e pode ser instanciada, ou seja, permite a criação de objetos a partir dela. Classes concretas podem ser herdadas por outras classes.

    public class Aluno {     private String nome;     private String ra;
        public Aluno() { }     public Aluno(String nome, String ra)     {         this.nome = nome;         this.ra = ra;     }     public String Nome     {         get { return this.nome; }         set { this.nome = value; }     }     public String Ra     {         get { return this.ra; }         set { this.ra= value; }     } }

    Classe Abstrata: Possui a mesma estrutura de uma classe concreta com a diferença que tem um modificador abstract em sua definição. Não podem ser instanciadas, ou seja, não se obtem objetos através delas. Classes abstratas podem ser herdadas por outras classes abstratas ou concretas possibilitando o polimorfismo.

    public abstract class Aluno {     private String nome;     private String ra;
        public Aluno() { }     public Aluno(String nome, String ra)     {         this.nome = nome;         this.ra = ra;     }     public String Nome     {         get { return this.nome; }         set { this.nome = value; }     }     public String Ra     {         get { return this.ra; }         set { this.ra= value; }     } }

    Interface: São utilizadas para definição de um modelo através da assinatura de métodos que DEVERÃO ser implementados pelas classes que a herdarem. O uso de interfaces possibilita o polimorfismo. Não existe implementação nas interfaces e estas também não podem ser instanciadas.

    public interface IAluno
    {
        Double CalculaMediaFinal(IDictionary notas);
        Double CalculaMediaBimestral(IDictionary notas);
    }
    public class Aluno: IAluno {     public Double CalculaMediaFinal(IDictionary notas)     {         // Implementa-se a lógica do cálculo aqui     }
        public Double CalculaMediaBimestral(IDictionary notas)     {         // Implementa-se a lógica do cálculo aqui     } }
    fonte : http://social.msdn.microsoft.com/Forums/en-US/aspnetpt/thread/222ac110-1b0e-4f65-b7fb-9d950a502e07