seminário: programação orientada a objetos

24
Introdução e Conceitos Janaina Scal Duia Castello Programação Orientada a Objetos POO

Upload: janaina-scal-duia-castello

Post on 04-Jul-2015

786 views

Category:

Education


3 download

DESCRIPTION

Apresentação sobre Programação Orientada a Objetos (POO) para a matéria Seminários do Curso de Eng. Elétrica da UFES.É baseada no pdf de mesmo propósito.A POO tem outras características interessantes, então pesquise mais ^^

TRANSCRIPT

Page 1: Seminário: Programação orientada a objetos

Introdução e Conceitos

Janaina Scal Duia Castello

Programação Orientada a Objetos – POO

Page 2: Seminário: Programação orientada a objetos

Evolução das LP

• Primeiro projeto de computador de uso geral– Por Charles Babbage,

1837

– Primeira programadora: Ada Lovelace.

• 100 anos depois aparece o primeiro computador de uso geral

Page 3: Seminário: Programação orientada a objetos

Evolução das LP

• Primeiras LP

– Traduzem a linguagem de máquina (bits) para uma mais compreensível

– Ex.: Assembly

• Foco na eficiência computacional

– Memória

– Processamento

– Ex.: FORTRAN

Page 4: Seminário: Programação orientada a objetos

Evolução das LP

• Anos 60:

– Eficiência computacional deixa de ser problema

• Muda o foco das LP

– Eficiência dos programadores

– Paradigma Estruturado:

• Ex: Pascal e C

– Conceitos de modularização

• Ex.: MODULA e ADA

Page 5: Seminário: Programação orientada a objetos

Paradigmas

“É um conjunto de características que servem para caracterizar um conjunto de linguagens”

Flávio Miguel Varejão

Page 6: Seminário: Programação orientada a objetos

Paradigma Estruturado

É uma forma de programação de computadores que preconiza que todos os programas

possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e interação”

Michael A. Jackson

Page 7: Seminário: Programação orientada a objetos

Modularização

Page 8: Seminário: Programação orientada a objetos

Evolução das LP

• Anos 80 e 90:

– Computadores Pessoais

• Muda o foco das LP novamente

– Menor período de desenvolvimento

• Reutilização de códigos

– Manutenção.

– Surge a POO

• Ex.: Java, C++ e SMALLTALK

Page 9: Seminário: Programação orientada a objetos

POO

• Baseia-se nos conceitos:

– Classe e subclasse

• Hierarquia

– Herança

• Reutilização de códigos

– Encapsulamento

• Abstração

• Segurança de informação

– Polimorfismo

Page 10: Seminário: Programação orientada a objetos

Herança

Page 11: Seminário: Programação orientada a objetos

Herança

“É a propriedade dos objetos que permite a criação de uma hierarquia entre eles, onde os

descendentes herdam o acesso ao código e estruturas de dados dos seus ancestrais.”

Jackson Laskoski

Page 12: Seminário: Programação orientada a objetos

Classe

• Estrutura modular que descreve um conjunto de dados estruturados, atributos, e as funções capazes de manipulá-los, métodos.

• É caracterizada por

– nome

– superclasse

– atributos

– métodos

Page 13: Seminário: Programação orientada a objetos

Superclasse e subclasse

• Para uma classe ser uma subclasse de outra, esta deve conter todos os atributos e métodos de sua superclasse, mas estes não precisam ser idênticos.

Page 14: Seminário: Programação orientada a objetos

Superclasse e subclasse

Page 15: Seminário: Programação orientada a objetos

Outras relações entre classes

Page 16: Seminário: Programação orientada a objetos

Objetos• São elementos de uma classe

• Só podem acessar métodos

de sua classe ou superclasses

– Passagem de mensagens

a objetos

Page 17: Seminário: Programação orientada a objetos

Polimorfismo

“É a propriedade de uma ou mais classes

responderem a mesma mensagem cada uma

de uma forma diferente”

Jackson Laskoski

Page 18: Seminário: Programação orientada a objetos

Herança e polimorfismo

Page 19: Seminário: Programação orientada a objetos

Encapsulamento

“É a capacidade de ocultar dados dentro de modelos, permitindo que somente operações especializadas ou dedicadas manipulem estes

dados ocultos.”

R. Santos

Page 20: Seminário: Programação orientada a objetos

Encapsulamento

• Uso de funções privadas e públicas

– Privadas: só a classe pode executar

– Pública: qualquer classe pode executar

• Herança só se aplica a métodos públicos!

• Atributos privados

– Só os métodos das classes podem modificá-los.

– Protege contra erros de programação.

Page 21: Seminário: Programação orientada a objetos

Encapsulamento

Page 22: Seminário: Programação orientada a objetos

Encapsulamento

• Abstrai de como os métodos são implementados

– Usuário só sabe como passar os parâmetros e qual o tipo de retorno

– Conceito de caixa preta

– Facilidade na manutenção

Page 23: Seminário: Programação orientada a objetos

Comparações

• Melhora a manutenção

• Melhor a compreensão dos programas

• Menos eficiente que outros paradigmas– Pouco relevante devido ao auto poder de

processamento atual

• Desafio da mudança – Surgiu na década de 70 mas só foi ser utilizada nos

últimos anos

– Depende do método procedural

Page 24: Seminário: Programação orientada a objetos

Duvidas?