Você está na página 1de 33

Introdução à Linguagem C++

IFPE – Tecnologia em Análise de


Desenvolvimento de Sistemas
Professor: Marcos Costa
Roteiro

 Objetivos

 Introdução

 Conceitos de Programação Orientada a


Objetos
 História e características de C++
 Ambiente de desenvolvimento
Objetivos

Conhecer os principais características da


linguagem C++
 Incluindo conceitos de orientação a objetos
Introdução

 Vamos descrever um aparelho de som


E descobrir o que é que isso tem a ver com
orientação a objetos
Descrição de um CD Player

 Um aparelho de som possui um


conjunto de características
 Fabricante

 Modelo

 Controle remoto
Descrição de um CD Player

 Um aparelho de som realiza um


conjunto de ações
 Tocar CD
 Sintonizar estação de rádio
 Avançar fita
Descrição de um CD Player

O aparelho de som do exemplo possui


um valor para cada característica citada
 Fabricante: Neptune
 Modelo: NPT727
 Controle remoto: Não
Conceitos de Orientação a Objetos

O aparelho de som do exemplo é um


objeto
 As características são os atributos
 As ações são os métodos
Conceitos de Orientação a Objetos

 As características e comportamentos
dos aparelhos de som
 São definidos por uma classe
Classes e Objetos

Classificação Classe
Automóvel
Atributos
Potência
Velocidade
Cor...
Métodos
Acelerar
Frear
Objetos Instanciação Buzinar...
Classes e Objetos

 Classe é uma abstração de entidades


existentes no domínio de uma aplicação
 Define
as características (atributos) e o
comportamento (métodos) dos objetos
 Objetos são as instâncias de uma classe
Exemplos de objetos

Coisas Tangíveis Automóvel

Eventos Casamento

Transações Transação
comercial
Herança

 Existem classes que podem ser filhas de


outras
Classe Ave
(superclasse)

Classe Urubu Classe Gavião


(sub-classe) (sub-classe)
Herança

 Nesse caso, podemos dizer que


 Urubu e Gavião são sub-classes de Ave
 especialização

 Ave é superclasse de Gavião e Urubu


 generalização
Herança

 Atributosda superclasse são herdados


pela subclasse
 Ave possui o atributo asa
 Em conseqüência, Urubu e Gavião também
possuem o atributo asa
Herança

 Os métodos da superclasse são


herdados pela subclasse
 Método Voar de ave é herdado por Urubu e
Gavião
Herança

 Herança Múltipla
 Quando uma subclasse herda atributos ou
métodos de duas ou mais superclasses
 Por exemplo
 Uma classe Anfíbio que seja sub-classe das
classes Animal Terrestre e Animal Aquático
Polimorfismo

 Suponha uma Classe Veículo


 Aviãoe Automóvel são sub-classes de
veículo, que possui um método viajar

 Esse método é redefinido de maneira


diferente nas sub-classes
Polimorfismo

 Suponha que uma pessoa vai viajar em


um veículo (a super-classe)
 Masnão sabe se o veículo é um automóvel
ou um avião
 Ela só saberá isso no momento da viagem
Polimorfismo

O momento da viagem é em tempo de


execução
 Isto é Polimorfismo
Polimorfismo

 Permiteque referências de tipos de


classes mais abstratas
 Representem o comportamento das classes
concretas que referenciam
 Um mesmo método pode apresentar várias
formas, de acordo com seu contexto
Associação entre objetos

 Os objetos se relacionam entre si


 Um objeto pode ter outro objeto como
atributo
 Um objeto pode ter uma relação com uma
coleção de objetos
Encapsulamento

 Permiteque os detalhes da
implementação de um objeto sejam
ocultados
 Acesso aos atributos de um objeto não são
permitidos
 Asinformações são disponibilizadas
através de métodos
Encapsulamento

 Vantagem

É possível mudar a implementação de uma


classe sem afetar outras classes
 Desdeque os métodos disponibilizados
sejam mantidos
Programação Orientada a Objetos

 Vantagens
 Melhora o entendimento do software
 Abordagem de programação intuitiva
 Facilita o reuso
 Realidade consolidada no desenvolvimento
de software
 Podemos destacar C++, Java e C#
Programação Orientada a Objetos

 Vantagens
 Permiteque programas possuam as
seguintes propriedades
 Modularização

 Altacoesão
 Baixo acoplamento

 Masa POO por si só não garante estas


vantagens!
Aplicabilidade

 Grande parte dos sistemas atualmente


são construídos utilizando o paradigma
de programação orientado a objetos

 Aplicaremosesse conhecimento na
implementação de Estruturas de Dados
História da C++

 Desenvolvida a partir do C por Bjarne


Stroustrup
 Iníciodos anos 80
 Bell Laboratories

 Fortemente influenciada pelo Simula 67


 Linguagem de simulação européia
 Possuia capacidade de criação e
manipulação de objetos
História da C++

 C++ tem o núcleo da linguagem C


 Tipos de dados, loops, condicionais, etc
 C++ possui o tipo bool (true ou false)
A principal diferença entre C++ e seu
predecessor
É o paradigma de programação orientado a
objetos
C++

 Características principais
 Linguagem compilada
 Permite herança simples e herança múltipla
 Programas em C++ consistem em classes e
funções
C++

 Características principais
 Possui rica coleção de classes e funções na
C++ Standard Library
 Bastante poder na mão do programador
 Eficiência

 Arquivos fonte possuem extensão .cpp


C++

 Utiliza
uma nomeclatura diferente da
normalmente utilizada na POO
 Herança: classe básica e classe derivada
 Métodos: funções membro
 Atributos: membros de dados
Ambiente de Desenvolvimento

 Netbeans IDE 6.5


 Cygwin

Você também pode gostar