Classe abstrata
Seminário: Classe abstrata. Pesquise 861.000+ trabalhos acadêmicosPor: di23 • 29/7/2013 • Seminário • 519 Palavras (3 Páginas) • 410 Visualizações
o que é um construtor?
O construtor é um método especial que é executado automaticamente quando instanciamos uma classe. E todo construtor necessariamente tem que ter o mesmo nome da classe
Classe abstrata
A classe abstrata é um tipo de classe que somente pode ser herdada e não instanciada. De certa forma, pode-se dizer que este tipo de classe é uma classe conceitual que pode definir funcionalidades para que as suas subclasses possam implementá-las.
O conjunto de métodos na classe abstrata é obrigatoriedade, assim como a implementação nas suas subclasses.
Em uma classe abstrata, os métodos declarados podem ser abstratos ou não, e suas implementações devem ser obrigatórias na subclasse.
Quando criamos um método abstrato em uma classe abstrata, sua implementação é obrigatória. Caso você não implemente o mesmo, o compilador criará um erro em tempo de compilação.
Interface
As interfaces são fundamentais em um sistema orientado a objetos.
uma interface define as operações que um objeto será obrigado a implementar. Para cada operação declarada por um objeto, deve ser especificado o nome da operação, os objetos que ela aceita como parâmetro e o tipo de valor retornado pela mesma;
este conjunto de informações sobre uma determinada operação tem o nome de assinatura da operação, e a um conjunto de assinaturas de operações dá-se o nome de interface.
Classes Abstratas X Interfaces
Uma classe abstrata pode conter métodos completos ou incompletos. Uma Interface pode conter apenas a assinatura de um método, mas nenhum corpo ou implementação.
. Uma classe abstrata pode conter campos, construtores, ou destrutores e aplicar propriedades. Uma interface não pode conter campos, construtores, ou destrutores. Pode possuir apenas a propriedade da assinatura, mas não a implementação.
Uma classe abstrata não suporta múltiplas heranças, mas uma interface pode suportá-las. Assim, uma classe pode herdar várias interfaces, mas apenas uma classe abstrata.
Uma classe que implementa uma interface tem obrigatoriamente que implementar todos os métodos desta, mas o mesmo não é exigido no caso de uma classe abstrata. As classes abstratas são mais rápidas que as interfaces.
Classe selada (Sealed Class)
Uma classe selada é utilizada para restringir características da herança do objeto. Quando uma classe é definida como sealed, está classe não poderá ser herdada. Caso você tente, o compilador criará um erro em tempo de compilação. Após criar uma classe selada, quando você tenta criar uma herança para novas classes, pode-se observar que o intelisense não mostra o nome da classe definida como sealed.
Devemos utilizar classes abstratas quando queremos compartilhar funcionalidades em comum entre classes, e utilizar interfaces quando desejamos que uma classe possua as mesmas assinaturas. Porém, a implementação de cada método não precisa ser a mesma.
Podemos citar algumas pequenas diferenças:
Classe abstrata
-
...