Em geral, utiliza-se o método com o Modificadores de acesso: public, protected
objetivo de permitir que a pessoa acesse o e private. As representações nas atributo. modelagens são +, - e #, respectivamente. Logo, porque “esconder” um método tornando-o privado? Não escrevo a palavra default, ele é automático quando eu não coloco nada. Exemplo análogo: Delegação: estou usando uma nova classe Quando uma pessoa está com problemas para ajudar a compor essa classe. A classe no fígado, não consigo acessar que uso para compor outra chama-se diretamente, apenas por meio de remédios classe base. Posso delegar um problema, e outros métodos, o que por sua vez nos ou seja, utilizar métodos da classe base. permitem acessá-lo indiretamente. Chama-se base porque ela é considerada base para compor outra classe. No caso de uma cafeteira, não mexo no mecanismo do seu interior. Consigo Até então estávamos criando um atributo acessar apenas a parte externa, uma vez que pertencia a outra classe. que a parte interna está protegida. No caso da herança ela vai ser uma Em uma classe, o desenvolvedor consegue subclasse, herdando tudo da outra classe. manusear. Já o usuário, só consegue por meio de utilização de métodos públicos. Exemplo: um aluno possui todas as informações de uma pessoa, mas a pessoa Get: normalmente não usa-se parâmetros. não possui todas as informações de uma No entanto, pode-se usar parâmetro. pessoa. No caso, aluno e professores seriam uma subclasse de pessoa. Por Não existe get sem retorno, no entanto, exemplo, um professor não tem média de existe set com retorno. notas. A matrícula do professor é diferente Observação: se eu não pedi para a pessoa da matrícula do aluno (matrícula e SIA). digitar, eu não estou passando nenhum parâmetro. Uma classe mais geral que vai se O ideal é fazer a verificação antes do ser, especializando. para só depois chamá-lo. A superclasse é a classe existente (mais Argumento é diferente de parâmetro: o geral) que vai se tornando mais específica argumento é o que eu coloco no lugar do (subclasse). parâmetro. A partir de uma classe que alguém já criou Lembrando que o this aparece quando o (nossa superclasse) posso criar uma nova meu parâmetro possui o mesmo nome do classe (subclasse) a partir dessa classe já que o meu atributo. existente, que pode ser chamada de classe Linguagem de Programação II
“pai”. Ou seja, ela tem tudo da classe “pai”
mais alguma coisa.
É válido ressaltar que classes finais (como
se fosse uma constante, não pode ser modificada) não pode ser subclasse, ou seja, não pode ter herdeiros.
Uma subclasse não tem impacto na
superclasse. Com isso, ele não pode remover nada da classe pai, ou seja, não é capaz de remover nada da superclasse. Além disso, ela não é capaz de acessar um atributo privado na superclasse.
É possível que haja uma subclasse dentro
da outra. Exemplo: Pessoa, aluno e monitor. A subclasse pode ser superclasse de outra subclasse.
Pra que serve uma classe se não vou criar
objetos no sistema? Agora vou criar uma classe para servir como base para a subclasse.
Palavrinha mágica que chama o construtor
da classe pai chama-se super.
Como fazer para acessar o método de uma
classe pai? Eu coloco super.set…
O construtor da classe pai só pode ser
chamada pelo construtor da classe filha na primeira linha do código do construtor da classe filha. Ou seja, ele faz primeiro os atributos da classe pai para só depois fazer os atributos da classe filha. Apenas de forma direta.