seminário: programação orientada a objetos

Post on 04-Jul-2015

783 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

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

Introdução e Conceitos

Janaina Scal Duia Castello

Programação Orientada a Objetos – POO

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

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

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

Paradigmas

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

Flávio Miguel Varejão

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

Modularização

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

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

Herança

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

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

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.

Superclasse e subclasse

Outras relações entre classes

Objetos• São elementos de uma classe

• Só podem acessar métodos

de sua classe ou superclasses

– Passagem de mensagens

a objetos

Polimorfismo

“É a propriedade de uma ou mais classes

responderem a mesma mensagem cada uma

de uma forma diferente”

Jackson Laskoski

Herança e polimorfismo

Encapsulamento

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

dados ocultos.”

R. Santos

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.

Encapsulamento

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

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

Duvidas?

top related