Disciplina Programao Estruturada e Orientada a Objetos Aula
Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos Apresentação do paradigma Orientado a Objetos. Alicerce da POO: Herança, Encapsulamento e Polimorfismo. Professor: Jorge Felliphe | Jorge. Barbosa@ifrn. edu. br
Apresentação • O paradigma orientado a objetos foi idealizado quando se pensou em programar/implementar sistemas de modo mais simples e abstrato, tentando aproximar o código (trabalho de desenvolvimento) do mundo real. Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
Vantagem • Frente ao paradigma estruturado, a POO (Programação Orientada a Objetos) destaca-se pela grande abstração e facilidade de reuso e expansão/manutenção. • Modelar o mundo real e seu comportamento, abstraindo-o em OBJETOS é mais prático do que focar em FUNÇÕES E BIBLIOTECAS. . . Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
O que seria mais simples dizer? • “Amanhã irei abrir a porta daquele veículo movido a combustível, entrarei, me sentarei, darei a partida no motor, pisarei na embreagem, engatarei a primeira marcha, acelerarei, controlarei a direção em que o carro irá se mover utilizando o volante ao mesmo tempo em que passarei as marchas de acordo com a velocidade até chegar ao meu trabalho, onde, através da chave da ignição o desligarei quando estiver parado na devida vaga do estacionamento”. • Ou “Vou usar o meu carro para ir ao trabalho amanhã” Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
Abstração • Na POO, graças a sua ideologia, podemos abstrair as informações e pensar de forma simplificada que a mensagem continuará a ser compreendida! • CLASSE em POO é um “molde” do que temos no mundo real e desejamos programar, onde, à partir dela, instanciaremos (criaremos) os OBJETOS. Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
Classe e Objetos • Imagine que desejamos programar o carro: CLASSE Carro Variáveis Internas (ATRIBUTOS) Comportamentos (MÉTODOS) Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br) OBJETOS (instâncias)
Na prática, temos: Classe (“molde”) Carro String Nome String Cor Atributos (variáveis) int Ano. Fabricacao double Peso Carro C 1 -ATRIBUTOS (características próprias): Relâmpago Mc. Queen, vermelho, 2010, 500 kg, 2, 1 m, 3, 4 m, false. -MÉTODOS: comportamentos de um carro. double Largura double Comprimento boolean Guincho Locomover ( ) Métodos (comportamento) Buzinar ( ) Fazer. Manutencao ( ) Usar. Guincho ( ) Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br) Carro C 2 -ATRIBUTOS (características próprias): Mater, marrom, 1815, 800, 5 kg, 2, 9 m, 4, 5 m, true. -MÉTODOS: comportamentos de um carro.
Hora de praticar! Carro String Nome String Cor int Ano. Fabricacao double Peso double Largura double Comprimento boolean Guincho Locomover ( ) Buzinar ( ) Fazer. Manutencao ( ) Usar. Guincho ( ) Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br) • Vamos tentar implementar esta classe Carro ao lado e, dentro do main iremos instanciar dois carros e chamar suas funcionalidades (métodos)!
Programação Orientada e Objetos • Os três pilares da POO são as seguintes características/práticas: – Herança: • Classes/Objetos podem herdar características de uma classe-“principal” (classe-mãe). Vantagem: ? – Encapsulamento • Classes/Objetos e suas funcionalidades/comportamento são implementadas e disponibilizadas de forma transparente para o programador, de modo que o mesmo não precise ler o código para entender o comportamento, mas apenas se preocupe em saber o que deve enviar para a classe e que ele pode receber dela. – Polimorfismo • Capacidade de uma mesma funcionalidade (método) assumir comportamentos distintos, ou seja, várias formas (poli-formas). Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
Atividade! • Vamos implementar o conceito de herança: – Crie uma classe-“principal” (classe-mãe) denominada Automovel e crie 5 classes- “secundarias” (classe-filha) que herdam os atributos e métodos de Automovel. Elas podem se chamar Carro, Bicicleta, Moto, Barco e Aviao. – Tecnicamente dizemos que a classe Automovel é super classe de Carro, Bicicleta, Moto, Barco e Aviao, pois estas herdam a classe Automovel. Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
Dúvidas? Prof. Jorge Felliphe (jorge. barbosa@ifrn. edu. br)
- Slides: 11