11
ciplina: gramação Estruturada e Orientada a Objetos a 1 rientação a Objetos esentação do paradigma Orientado a Objetos. cerce da POO: Herança, Encapsulamento e Polimorfismo. fessor: ge Felliphe | [email protected]

Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

  • Upload
    louie

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

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 | [email protected]. Apresentação. - PowerPoint PPT Presentation

Citation preview

Page 1: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

Disciplina:Programação Estruturada e Orientada a Objetos

Aula 1

Orientação a ObjetosApresentação do paradigma Orientado a Objetos.Alicerce da POO: Herança, Encapsulamento e Polimorfismo.

Professor:Jorge Felliphe | [email protected]

Page 2: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 3: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 4: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 5: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 6: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

Classe e Objetos• Imagine que desejamos programar o carro:

Prof. Jorge Felliphe ([email protected])

CLASSECarro

Variáveis Internas(ATRIBUTOS)

Comportamentos (MÉTODOS)

OBJETOS (instâncias)

Page 7: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

Na prática, temos:Carro

String Nome

String Cor

int AnoFabricacao

double Peso

double Largura

double Comprimento

boolean Guincho

Locomover ( )

Buzinar ( )

FazerManutencao ( )

UsarGuincho ( )

Prof. Jorge Felliphe ([email protected])

Classe(“molde”)

Atributos(variáveis)

Métodos(comportamento)

Carro C1-ATRIBUTOS (características próprias): Relâmpago McQueen, vermelho, 2010, 500 kg, 2,1 m, 3,4 m, false.-MÉTODOS: comportamentos de um carro.

Carro C2-ATRIBUTOS (características próprias): Mater, marrom, 1815, 800,5 kg, 2,9 m, 4,5 m, true.-MÉTODOS: comportamentos de um carro.

Page 8: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

Hora de praticar!

• Vamos tentar implementar esta classe Carro ao lado e, dentro do main iremos instanciar dois carros e chamar suas funcionalidades (métodos)!

Prof. Jorge Felliphe ([email protected])

Carro

String Nome

String Cor

int AnoFabricacao

double Peso

double Largura

double Comprimento

boolean Guincho

Locomover ( )

Buzinar ( )

FazerManutencao ( )

UsarGuincho ( )

Page 9: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 10: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

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 ([email protected])

Page 11: Disciplina: Programação Estruturada e Orientada a Objetos Aula 1 Orientação a Objetos

Dúvidas?

Prof. Jorge Felliphe ([email protected])