É um método de desenvolvimento de software que reúne um conjunto de componentes para resolução do problema. Esses componentes são OBJETOS.
Segundo Melo (2004, p.15), um objeto é qualquer coisa, em forma concreta ou abstrata, que exista física ou apenas conceitualmente no mundo real.
Por exemplo: cliente, professor, caneta, carro.
Sendo que esses objetos possuem características e comportamentos.
Classes
Uma classe é uma abstração de um conjunto de objetos que possuem os mesmos tipos, características e comportamentos.
class Livro {
titulo: string
autor: string
}
Temos uma Classe do objeto Livro, com os seus atributos (características), título e autor, ambos do tipo string.
Uma Classe possui também pode possuir métodos.
Métodos
São as atividades que uma instância de uma classe pode executar. Quando ele é chamado, então se executa um conjunto de instruções que foram previamente programadas dentro desse método.
class Livro {
titulo: string
autor: string
adicionarLivro(){
//cadastro de novo livro
}
}
Nem todos os atributos e métodos devem ser visíveis para todos, então temos a…
Visibilidade
Serve para indicar o seu nível de acessibilidade.
(+) publico -> a classe atual e todas as outras tem acesso.
(-) privada -> somente a classe atual tem acesso.
(#) protegido -> a classe atual e todas suas sub-classses tem acesso.
Herança
A herança permite que as classes compartilhem atributos e métodos. Significa que os objetos da subclasse podem ser utilizados em qualquer local em que a superclasse ocorra, mas não vice-versa. A subclasse herda as propriedades da classe-mãe. A vantagem de se utilizar herança é a reutilização de código.
Polimorfismo
Ocorre quando uma subclasse redefine um método existente na superclasse, ou seja, quando temos os métodos sobrescritos (overriding).
class Mamifero {
//SuperClasse
locomoverSe() {
// A ser implementado em alguma subclasse.
}
}
SubClasses herdam e sobrescrevem o método citado da seguinte forma:
SubClasse Macaco:
locomoverSe() {
pulandoDeGalhoEmGalho;
}
SubClasse Baleia:
locomoverSe() {
nadando;
}
Top comments (0)