programação orientada a objetos

12
Programação Orientada a Objetos Prof. Orlando Jr.

Upload: orlando-junior

Post on 25-Jun-2015

644 views

Category:

Technology


0 download

DESCRIPTION

Programação Orientada a Objetos em Java.

TRANSCRIPT

Page 1: Programação Orientada a Objetos

Programação Orientada a Objetos

Prof. Orlando Jr.

Page 2: Programação Orientada a Objetos

Estudos de Hoje

• Compreender o paradigma da orientação a objetos:– Conhecer os problemas da programação

estruturada e o surgimento da POO– Estudar os principais conceitos relacionados à

POO– Conhecer as estruturas básicas de programação

relacionadas ao paradigma dentro da linguagem Java

Page 3: Programação Orientada a Objetos

Programação Estruturada

• Consiste na utilização de estruturas básicas de programação– Estruturas de controle de seleção, repetição, etc.

• Linguagens de programação mais antigas foram construídas em cima do paradigma da PE– Pascal, Delphi, Visual Basic, etc.

• Permite construir com facilidade a lógica dos programas

• Foca-se na lógica e não nos dados

Page 4: Programação Orientada a Objetos

Programação Orientada a Objetos

• A POO foca-se nos dados, aproximando o conceito que temos do mundo real para a programação

• Usa objetos para ocultar informações que não devem ser vistas ou são desnecessárias a outros objetos

• As linguagens mais recentes foram fundamentadas no paradigma OO– Java, .NET (C# e VB .NET), Ruby, etc.

• A maior vantagem da POO é o reuso de código (flexibilidade e manutenção)

Page 5: Programação Orientada a Objetos

Principais Conceitos POO

• A POO é baseada em 3 conceitos principais:– Encapsulamento– Herança– Polimorfismo

• Os três conceitos são suportados pelas linguagens de programação e são facilmente implementáveis

• Porém, existe um conceito que rege esses 3 conceitos: abstração

Page 6: Programação Orientada a Objetos

Abstração

• É a habilidade de raciocinar OO

• A abstração não é um conceito implementável, pois depende do problema abordado e da visão do programador para resolver esse problema

• O programação deve utilizar a abstração para se concentrar nos principais aspectos que irão formar o objeto ou o método

• A função da abstração é dar suporte ao reuso de elementos de software

Page 7: Programação Orientada a Objetos

Encapsulamento

• Visa esconder detalhes da programação e só fornecer o que for realmente relevante

• A comunicação entre os objetos deve ocorrer através de métodos

• Isso dá mais flexibilidade ao programa, permitindo que modificações futuras possam ser realizadas mais facilmente

• O encapsulamento colabora para a reutilização de código

Page 8: Programação Orientada a Objetos

Encapsulamento

Page 9: Programação Orientada a Objetos

Herança• Outro conceito é a herança, ou seja, receber algo que alguém

está transmitindo a você

• A herança possibilita a criação de novas classes a partir de classes já existentes

• A classe-base é a classe que suportará todas as classes derivadas dela, fornecendo atributos, métodos e outros objetos.

• A herança é uma funcionalidade que permite que novas classes sejam criadas a partir de uma classe já existente, dando suporte ao reuso de código já programado

Page 10: Programação Orientada a Objetos

Herança

Page 11: Programação Orientada a Objetos

Polimorfismo

• O polimorfismo está relacionado à herança.– Não existe polimorfismo se não houver herança.– Os conceitos estão intimamente relacionados.

• Polimorfismo significa “muitas formas”, ou seja, é uma propriedade que permite que os objetos tenham muitas formas ao longo do programa.

• O polimorfismo pode ser utilizando tanto para métodos como para classes– Os métodos podem ser reescritos a partir da classe-base– As classes podem mudar sua forma também a partir da classe-base

Page 12: Programação Orientada a Objetos

Polimorfismo