Introdução a Linguagem de Programação Orientada a Objetos

Post on 31-Jul-2015

81 views 0 download

Transcript of Introdução a Linguagem de Programação Orientada a Objetos

Linguagem de Programação Orientada a Objetos – C++

INSTITUTO DE ENSINO SUPERIOR DA GRANDE FLORIANÓPOLIS

Prof. Ramon Mayor Martins , MSc.

mayor@linuxmail.org

Linguagem de Programação Orientada a Objetos – C++

Modos de programas:

•Modelo Estruturado Sequencial:onde uma instrução segue a outra em uma sequência que inicia e termina em um fluxo

previsível

Divida em dois modos:o Orientado a Procedimentos (Procedural)o Orientado a Objetos

O Modelo Orientado a Procedimentos:se preocupa em fornecer meios para resolver o problema sem contabilizar os dados, usuários, elementos

O Modelo Orientado a Objetos:se preocupa com os elementos que são necessários para a solução de um problema. Nesse modelo, os elementos (objetos) são os principais na análise do problema.

Linguagem de Programação Orientada a Objetos – C++

Modos de programas:

Linguagem de Programação Orientada a Objetos – C++

Modos de programas:

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Objetos

Um objeto é um elemento que podemos manipular, acompanhar seu comportamento, criar, destruir etc.

Um objeto existe no mundo real ou pode ser abstrato.

Pode ser uma parte de qualquer tipo de sistema, por exemplo, uma máquina, uma organização, ou negócio.

Objetos

Os objetos possuem informações (contém dados)

Desempenham ações (possuem funcionalidade).

Um objeto é uma instância de uma classe.

Objetos

Exemplo:Uma fatura;Uma organização;Um vôo de avião;Uma pessoa;Um lugar.

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Classes

Uma classe é a descrição de um tipo de objeto.

Um tipo de objeto especifica uma família de objetos sem estipular como o tipo e o objeto são implementados.

Todos os objetos são instâncias de classes,onde a classe descreve as propriedades e comportamentos daquele objeto.

Usam-se classes para classificar os objetos que identificamos nomundo real.

Classes

Classes

Classes

Abstratas e Concretas:

Classe Abstrata:Não pode ter instâncias diretas, mas cujos descendentes sim;Organiza características comuns a diversas classes;Mecanismo para reutilizar código;

Classe Concreta:Classe que pode ter instâncias diretas;Não pode definir operações abstratas;

Classes

Abstratas e Concretas:

Ex 1: Se for lidar com uma operação de empréstimo e retorno de Livros ou DVD (duas classes):

As classes abstratas nos fornecem uma solução adequada para situações como essa.

Podemos criar uma classe abstrata Item, englobando todos os itens do acervo da biblioteca, como superclasse de Livros ou DVD,

Item

Livro DVD

Classes

Abstratas e Concretas:

Ex 2: Isso significa que podemos instanciar objetos como carros e aviões, mas nunca iremos criar objetos veículos.

As classes abstratas são criadas quando necessitamos de uma classe que implemente recursos comuns a duas ou mais classes.

Veículo

Avião Carro

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Atributos

São os elementos que definem a estrutura de uma classe.

Os atributos também são conhecidos como variáveis de classe

Atributos

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Métodos

Os métodos são similares às funções e procedures do universo da programação estruturada.

Os métodos especificam a maneira pela qual os dados de um objeto são manipulados.

Uma especificação dos passos pelos quais uma operação deve ser executada.

Ele é um script de implementação de uma operação.

Diferentes métodos podem ser usados para executar a mesma operação.

Métodos

Os métodos de um tipo de objeto referenciam somente as estruturas de dados desse tipo de objeto.

A ação que um objeto ou uma classe podem desempenhar.

Um objeto é, dessa forma, uma coisa, com suas propriedades representadas pelos tipos de dados e seu comportamento representado pelos métodos.

Métodos

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Herança

É comum haver similaridades entre diferentes classes.

Frequentemente, duas ou mais classes irão compartilhar os mesmos atributos e/ou métodos.

Como nenhum de nós deseja reescrever várias vezes o mesmo código, seria interessante se algum mecanismo pudesse tirar proveito dessas similaridades.

A herança é esse mecanismo.

Por intermédio da herança, é possível modelar relacionamentos do tipo "é" ou "é semelhante", o que nos permite reutilizar rotinas e dados já existentes.

Herança

A herança está relacionada às hierarquias e às relações entre os objetos.

É o mecanismo em que uma classe filha compartilha automaticamente todos os métodos e atributos de sua classe pai.

A herança permite implementar classes descendentes implementando os métodos e atributos que se diferenciam da classe pai.

Tipos de Herança

SimplesQuando uma classe herda as propriedades de uma única classe pai.

MúltiplaOcorre quando uma classe tem mais de um pai.

Herança

Herança

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Encapsulamento

O ato de empacotar ao mesmo tempo dados e objetos é denominado encapsulamento.

O objeto esconde seus dados de outros objetos e permite que os dados sejam acessados por intermédio de seus próprios métodos.

O encapsulamento protege os dados do objeto do uso arbitrário e não-intencional.

O encapsulamento é o resultado (ou ato) de ocultar do usuário os detalhes da implementação de um objeto.

O encapsulamento é importante porque separa a maneira como um objeto se comporta da maneira como ele é implementado.

Encapsulamento

A definição de como implementar os conhecimentos ou ações de uma classe, sem informar como isto é feito.

Ex: uma dona de casa (usuário) utilizando um liquidificador (sistema). O usuário não necessita conhecer detalhes do funcionamento interno do sistema para poder utilizá-lo, precisa apenas conhecer a interface, no caso, os botões que controlam o liquidificador.

Conceitos de Orientação a Objetos

Entre as idéias fundamentais básicas para a tecnologia orientada a objeto incluem-se:Objetos;Classes;Atributos;Métodos;Herança;Encapsulamento;Polimorfismo;

Polimorfismo

Da mesma forma que podemos reaproveitar classes (em Herança), podemos reaproveitar métodos (através de Polimorfismo);

Ex: As classes aluno e professor, ambas possuem os métodos imprime() e cadastra(), cada um com seu objetivo, mas por estarem em classes diferentes, uma não interfere na outra.Mas o objetivo dos métodos é praticamente o mesmo.