Buscar

RESUMO UN3 - ORIENTAÇÃO A OBJETOS

Prévia do material em texto

UNIDADE 3.1 
Um método pode ser sobrescrito somente se for acessível. Para que isso seja validado, a 
sobrescrita deve criar um método na classe-filha contendo a mesma assinatura da classe-pai, além 
de especificar o mesmo tipo de retorno do método sobrescrito. 
Como precisa ser acessível, o método sobrescrito deve ser herdado; caso o modificador de acesso 
seja private, não é possível aplicá-lo. Além disso, deve ter o mesmo nome da classe que é utilizado 
para construtores. Os construtores, por sua vez, servem para inicializar objetos e executar ações 
implementadas. Entretanto, outros tipos de métodos podem ser sobrescritos. Não é preciso ter o 
mesmo tipo de retorno, visto que o retorno informa apenas o tipo de método, não tendo relação 
de impedimento com a sobrescrita. 
 
 
Sobrescrever um método significa substituir a implementação da superclasse daquele método 
com a sua própria. Somente escrever um método herdado não caracteriza o ato de sobrescrever, 
pois, ao sobrescrever um método, o tipo de retorno pode variar. Ao sobrescrever um método, as 
assinaturas devem permanecer idênticas, uma vez que uma assinatura é composta por seu nome e 
parâmetros do método. Portanto, quando se afirma que, na sobrescrita, a assinatura deve 
permanecer a mesma, significa que não se pode alterar o nome nem os parâmetros do método. 
 
 
Um método declarado como protected na superclasse pode ser redeclarado protected (o usual a 
ser feito) ou public, mas não pode ser declarado private ou ter acesso de pacote. 
Os métodos de sobrescrita têm seus próprios especificadores de acesso, ao passo que uma 
subclasse pode alterar o acesso aos métodos da superclasse, mas apenas para dar mais acesso. 
Além disso, o método que sobrescreve também pode ser final, mas, obviamente, o método que 
ele está sobrescrevendo não pode. 
 
Uma invocação externa do método da subclasse (assumindo que ele é acessível fora de sua classe) 
resulta na invocação da implementação da subclasse. 
Sobrescrita de métodos permite estender o código existente, reusando-o com objetos de 
funcionalidade expandida. Se o método não é acessível, não é herdado; se não for herdado, não 
pode ser sobrescrito; para ser sobrescrito, precisa ser acessível pela classe. Quaisquer invocações 
do método private resultam na invocação da implementação da superclasse do método sendo 
invocado. 
 
 
======================================================================== 
UNIDADE 3.2 
Classes abstratas auxiliam quando algum comportamento é definido para a maioria ou para todos 
os objetos de dado tipo. Outros comportamentos se relacionam somente a classes particulares, e 
não a uma superclasse geral. Classes abstratas podem ter métodos de acordo com o propósito 
para o qual foram criadas e definem como os objetos serão criados. Comumente, são chamadas de 
classes-modelo. Ao definir os atributos como privados, as classes estarão apenas limitando o 
acesso externo a esses atributos. As classes abstratas diferem-se das interfaces, que, por sua vez, 
têm métodos abstratos que devem ser usados pelas classes que as implementam. 
 
 
No método gabarito, a maioria das classes abstratas se enquadra em um padrão em que outra 
pessoa providencia uma parte que está faltando. Os modificadores de acesso tratam da 
visibilidade da classe. A sobrescrita de métodos permite que outras classes modifiquem sua 
implementação de acordo com a necessidade da classe em questão. A passagem de parâmetros 
atribui valor para o método e as subclasses são classes que herdam membros de uma classe 
genérica ou superclasse. 
 
 
 
Em orientação a objetos, métodos abstratos são métodos de uma classe abstrata que não têm 
implementação. Uma de suas principais características está em seu comportamento, que é 
alterado em cada classe por meio da herança; por isso, considera-se que um método abstrato não 
tem corpo. Os métodos abstratos podem ser herdados por subclasses em uma estrutura de 
herança, sendo declarados pela palavra-chave private,ficando visíveis apenas para a classe a que 
pertencem. Quando herdados por outra classe, devem ser implementados de acordo com as 
funcionalidades necessárias para a classe em questão e podem receber valores como parâmetros. 
 
 
Classes abstratas determinam a natureza dos métodos que as subclasses devem implementar, mas 
não fornecem uma implementação de um ou mais desses métodos. Qualquer classe que tem 
métodos abstratos deve ser declarada abstrata. Em orientação a objetos, todo método que não 
tem implementação é abstrato. Já uma classe que tem somente métodos concretos, incluindo 
implementações de quaisquer métodos abstratos herdados de superclasses, é uma classe 
concreta. 
 
 
Os métodos abstratos herdados pela subclasse são implementados de acordo com sua 
necessidade de execução. As subclasses podem herdar tanto propriedades como comportamentos 
e, em geral, representam uma subcategoria da classe pai. Em orientação a objetos, herança é 
quando classes herdam membros de outra classe. Além disso, classe genérica é a que tem 
membros semelhantes entre duas ou mais classes. Além de métodos, as subclasses podem herdar 
atributos das superclasses. No conceito de herança, a existência de atributos semelhantes entre 
duas ou mais classes é um indicativo de que há a possibilidade de criar uma estrutura de herança. 
 
===================================================================== 
UN 3.3 
Java é uma linguagem baseada no paradigma orientado a objetos e as classes são a unidade 
fundamental dessa linguagem, já que são responsáveis pela criação de objetos de acordo com sua 
estrutura, além de serem instanciadas, ao passo que as interfaces são apenas contratos. 
Os métodos são pequenos pedaços de programa com o objetivo de executar uma ação para a qual 
foi implementado; os atributos são variáveis declaradas para receber dados; os modificadores de 
acesso são padrões de visibilidade e os pacotes servem para organizar a aplicação. 
 
 
 
Interface define tipos em forma abstrata como uma coleção de métodos. Basicamente, uma 
interface em Java é simples e tem apenas sua assinatura, sendo segmentada por vírgula. 
Interfaces não podem ser definidas como Formulários, que, por sua vez, interagem com o usuário e 
são conhecidos como interface gráfica com o usuário. Interface é como uma classe que apenas 
define tipos abstratos, ao passo que os pacotes auxiliam na organização dos arquivos ou das classes 
da aplicação. 
 
 
 
Herança é um princípio importante da programação orientada a objetos e permite a criação de 
novas classes. Além disso, possibilita que as classes aumentem suas funcionalidades, herdando 
membros de uma superclasse. 
Em uma estrutura de herança, as subclasses podem herdar métodos e atributos de superclasse. As 
subclasses que herdam métodos da superclasse poderão sobrescrevê-los de acordo com sua 
necessidade de uso e não podem ser instanciadas caso sejam abstratas. Pode-se criar uma estrutura 
de herança quando há duas ou mais classes com atributos semelhantes.

Continue navegando