Baixe o app para aproveitar ainda mais
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.
Compartilhar