Prof. Jhonatan Fernando - PDF
Download "Prof. Jhonatan Fernando"
Pedro Lucas Aveiro Cortês
1 Prof. Jhonatan Fernando
2 Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis Chamada a procedimentos e funções Tipos de dados definidos pelo usuário
3 Reutilização de código. Melhoria no processo de desenvolvimento de software. Diminuição do tempo com manutenção em códigos. etc...
4 É uma estrutura de dados que combina estados (campos) e comportamentos (métodos e outros membros). Fornecem a definição da estrutura das instâncias que serão criadas, os objetos. A declaração de uma classe especifica os atributos e modificadores da classe, nome da classe, a classe base (se existir) e as interfaces implementadas (se existir). Permite definir atributos e comportamentos que poderão ser executadas na instância ou pela classe.
6 Sintaxe para definição de uma classe: class Nome_Classe Exemplo class Carro ;
7 int main() Carro *carro = new Carro();
8 O atributo é uma variável que está associada a classe ou a uma instância da classe. Um atributo declarado com static é um atributo estático. Ou seja, existe somente uma cópia do campo. Um campo declarado sem static é um atributo de instância. Toda instância da classe possui uma cópia dos atributos da classe.
9 #define CARRO_H #include <string> using namespace std; class Carro public: Carro(); static int qtde; protected: private: string marca; string modelo; ; #include "Carro.h" using namespace std; int Carro:: qtde = 0; Carro::Carro() Carro::qtde++;
10 Construtores de instância são utilizados para criar e inicializar instâncias de uma classe. O construtor sem parâmetros é o padrão. Se a classe não define um construtor, o construtor padrão é gerado automaticamente e os campos são inicializados com valores padrão. É declarado da mesma forma que um método, exceto que não tem tipo de retorno e deve ter o mesmo nome da classe. Construtores de instância podem ser sobrecarregados e são invocados com o operador new. Construtores da classe derivada podem chamar construtor da classe base.
11 É uma boa prática de programação manter os atributos de uma classe sempre como privados para que o acesso a eles não seja direto, então encapsulamos (Encapsulamento será apresentado posteriormente) os atributos para que os mesmos sejam acessados somente através de métodos ou propriedades. Utilizamos os Get s para recuperar os valores; Utilizamos os Set s para atribuir os valores;
12 #define CARRO_H #include <string> using namespace std; class Carro public: Carro(string marca, string modelo); Carro(string marca, string modelo, string placa); ; string getmarca(void); string getmodelo(void); void setmarca(string marca); void setmodelo(string modelo); protected: private: string marca; string modelo; string placa;
13 #include "Carro.h using namespace std; Carro::Carro(string marca, string modelo) this->marca = marca; this->modelo = modelo; Carro::Carro(string marca, string modelo, string placa) new (this) Carro(marca,modelo); this->placa = placa; void Carro::setMarca(string marca) this->marca = marca; void Carro::setModelo(string modelo) this->modelo = modelo; string Carro::getMarca() return this->marca; string Carro::getModelo() return this->modelo;
14 O objeto representa uma instância de uma classe. Identidade: Todo objeto é único e pode ser distinguido de outros objetos. Estado: Determinado pelos dados contidos no objeto. Comportamentos: Representados pelos serviços/métodos/operações que o objeto disponibiliza. Os objetos de classe estão sempre disponíveis, enquanto que as instâncias devem ser criadas. Representa alguma coisa do mundo real. Exemplo: Aluno, Cliente, Computador, Carro.
15 #include <iostream> #include "Carro.h" #include <string> using namespace std; int main() Carro *carro = new Carro("", "FIESTA", "XXX-1777"); carro->setmarca("ford"); cout << carro->getmarca() << endl;
16 Implementar um classe Aluno que atenda aos seguintes requisitos: Atributos: nome; sexo; idade; curso; Construtor: Receba como parâmetro nome; Receba como parâmetro nome, idade; Método Get De todos os atributos Método Set De todos os atributos exceto nome;
C++ e Orientação a Objetos
C++ e Orientação a Objetos PET Computação Fábio Beltrão, Felipe Chies, Lucas Zawacki, Marcos Cavinato e Matheus Proença 2ª Edição, 18 de Agosto de 2009 1ª Edição por Arthur Ribacki, Gabriel Portal, Leonardo
DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla JAVAProgParSD/0030-ProgParalelaDistribuida.ppt Sumário 1. Diferenças básicas
PCS - 3111 Laboratório de Programação Orientada a Objetos 1a. Prova 02 de Setembro de 2015 Questão 1 (2,6) Deseja-se implementar um programa que recebe um mês e um dia atual de um ano e o mês e o dia de
Exercício: Linguagem de Programação C++ Construa o diagrama de classes UML para as classes envolvidas na solução do exercício do slide 253. 267 Sobrecarga Linguagem de Programação C++ Neste exercício vimos