32
Linguagem de Programação Orientada a Objetos – C++ INSTITUTO DE ENSINO SUPERIOR DA GRANDE FLORIANÓPOLIS Prof. Ramon Mayor Martins , MSc. [email protected]

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

Embed Size (px)

Citation preview

Page 1: 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.

[email protected]

Page 2: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 3: Introdução a Linguagem de Programação Orientada a Objetos

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

Modos de programas:

Page 4: Introdução a Linguagem de Programação Orientada a Objetos

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

Modos de programas:

Page 5: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 6: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 7: Introdução a Linguagem de Programação Orientada a Objetos

Objetos

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

Desempenham ações (possuem funcionalidade).

Um objeto é uma instância de uma classe.

Page 8: Introdução a Linguagem de Programação Orientada a Objetos

Objetos

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

Page 9: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 10: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 11: Introdução a Linguagem de Programação Orientada a Objetos

Classes

Page 12: Introdução a Linguagem de Programação Orientada a Objetos

Classes

Page 13: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 14: Introdução a Linguagem de Programação Orientada a Objetos

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

Page 15: Introdução a Linguagem de Programação Orientada a Objetos

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

Page 16: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 17: Introdução a Linguagem de Programação Orientada a Objetos

Atributos

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

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

Page 18: Introdução a Linguagem de Programação Orientada a Objetos

Atributos

Page 19: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 20: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 21: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 22: Introdução a Linguagem de Programação Orientada a Objetos

Métodos

Page 23: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 24: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 25: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 26: Introdução a Linguagem de Programação Orientada a Objetos

Herança

Page 27: Introdução a Linguagem de Programação Orientada a Objetos

Herança

Page 28: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 29: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 30: Introdução a Linguagem de Programação Orientada a Objetos

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.

Page 31: Introdução a Linguagem de Programação Orientada a Objetos

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;

Page 32: Introdução a Linguagem de Programação Orientada a Objetos

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.