DSC/CCT/UFCG {joseana, Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz

Slides:



Advertisements
Apresentações semelhantes
Programação orientada a objetos
Advertisements

Curso de aprofundamento na linguagem C
Métodos e Software Numéricos Título da Apresentação
Classes C++ Class nome da classe { private: membros privados
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 04 Aquiles Burlamaqui UERN
Programação II Estruturas de Dados
Struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next função virtual pura 1º constructor 2º
Programação Orientada aos Objectos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra Out/2005 Core C++: Uma abordagem.
Persistência de objetos em arquivo texto usando Java
Gerenciamento de Estado de Objeto Alcides Calsavara.
Introdução à Programação
Introdução à Programação Programação Estruturada
Polimorfismo e Acoplamento Dinâmico
Templates Traduzido de:
INF Computação Gráfica
Linguagem de Programação C++
Funções em C Universidade do Estado de Santa Catarina
Centro Integrado de Tecnologia da Informação
2002/2003 Programação Orientada para Objectos 1 Aula 7 - Herança Herança pública: relação é um. A relação tem um. A relação é composto por um. Ponteiros,
2002/2003 Programação Orientada para Objectos 1 Aula 5 Memória livre e instâncias dinâmicas Criação de instâncias dinâmicas Destruição de instâncias dinâmicas.
Classes e objetos P. O. O. Prof. Grace.
Linguagem técnica de programação I Java – REVISÃO
CRIANDO OBJETOS EM JAVA
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
DSC/CCT/UFCG Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel de Queiroz Roberto.
Revisão /*======================================================*/
Classes Revisando: –Forma de implementação de estruturas específicas –Atributos (grupos de dados) –Métodos (conjuntos de procedimentos)
PROGRAMAÇÃO ESTRUTURADA II
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Construção de Algoritmos AULA 04
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagem de Programação II
Linguagem de Programação II
Programação I Aula 2 (Métodos)
Argumentos por valor Passagem de valor da variável indicada Não permite alteração de variável indicada Exemplo: int quadrado_de(int ); //protótipo int.
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Paradigmas e Ferramentas de Desenvolvimento de Software – Revisão da linguagem C++ Lúbia Vinhas DPI - INPE.
+ Curso de C/C++ Aula 6 Instrutor: Luiz Felipe Sotero Material por: Allan Lima
Tipos Abstratos de Dados
Introdução à linguagem C
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Técnicas de Desenvolvimento de Programas
Programação orientada a objectos em C++
Uso de parâmetros na linha de comando. Parâmetros da função main:
Linguagens de Programação – DEL-Poli/UFRJ Prof. Miguel Campista Linguagens de Programação Prof. Miguel Elias Mitre Campista
Regras de escopo Escopo: trecho de codificação no qual o identificador possui significado Escopo de função: identificador válido dentro do trecho de uma.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Laboratório de Programação II Método Construtor Dados e Métodos de Objetos Prof Edivaldo - Network.
Construtores e Destrutores
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
PCI- Registros Profa. Mercedes Gonzales Márquez. Conceito Variáveis compostas heterogêneas (não homogêneas) Estruturas: variáveis que podem conter uma.
Modificadores Programação II.
DSC/CCT/UFCG {joseana, Informática na Educação Profs.: Joseana Macêdo Fechine José Eustáquio Rangel de Queiroz {joseana,
CEEIDSC Prof.: José Eustáquio Rangel de Queiroz Carga Horária: 60 h.
{joseana, CEEIDSC Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz
Inteligência Artificial I
DSC/CCT/UFCG Profs.: Roberto Medeiros de Faria Ulrich Schiel Roberto Medeiros de Faria Ulrich Schiel Carga Horária: 60 h.
DSC/CCT/UFCG Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria José Eustáquio Rangel de Queiroz Roberto Medeiros de.
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
Linguagem de Programação
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
Tipo Abstrato de Dados (TAD) Estrutura de Dados Professor: Rodrigo Alves Sarmento Professor: André Cypriano.
Orientação a Objetos - Programação em C++ Slides 11: Herança et al. (Funções Virtuais, Polimorfismo, Herança Múltipla, Funções Virtuais Puras e Classes.
1 Orientação a Objetos - Programação em C++ 2 o Slides: Relações entre objetos em C++ OO – Engenharia Eletrônica Prof. Jean Marcelo SIMÃO.
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ PAE: Pedro Shiguihara Professor: Dilvan Moreira.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Técnicas de Programação
Orientação a Objetos - Programação em C++
Transcrição da apresentação:

DSC/CCT/UFCG {joseana, Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz Prof.: José Eustáquio Rangel de Queiroz

{joseana, DSC/CCT/UFCG 2 01 // Circulo.h - Definição da classe Circulo 02 #ifndef Circulo_H 03#define Circulo_H 04 05#include 06 class Circulo 07 { 08 int coordx; 09 int coordy; 10 int raio; 11 char * cor; 12public: 13 Circulo(); //construtor 14 Circulo(int x, int y, int r, char *c); //construtor default 15 Circulo(const Circulo c); //construtor de cópia 16 ~Circulo(); //destrutor 17 void Listar(); 18 }; // fim da classe Circulo 01 // Circulo.h - Definição da classe Circulo 02 #ifndef Circulo_H 03#define Circulo_H 04 05#include 06 class Circulo 07 { 08 int coordx; 09 int coordy; 10 int raio; 11 char * cor; 12public: 13 Circulo(); //construtor 14 Circulo(int x, int y, int r, char *c); //construtor default 15 Circulo(const Circulo c); //construtor de cópia 16 ~Circulo(); //destrutor 17 void Listar(); 18 }; // fim da classe Circulo Exemplo 01 - Circulo.h (1/1)

{joseana, DSC/CCT/UFCG 3 01 // Exemplo de arquivo de código-fonte – Circulo.cpp 02 // definições das funções-membros para a classe Circulo. 03 #include 04 05using std::cout; 06 07Circulo::Circulo() 08 { 09 coordx = 0; 10 coordy = 0; 11 raio = 0; 12 cor = NULL; 13 }; Circulo::Circulo(int x, int y, int r, char *c) 16 { 17 coordx = x; 18 coordy = y; 19 raio = r; 20 cor = new char[strlen(c) +1]; 21 strcpy(cor, c); 22 }; 01 // Exemplo de arquivo de código-fonte – Circulo.cpp 02 // definições das funções-membros para a classe Circulo. 03 #include 04 05using std::cout; 06 07Circulo::Circulo() 08 { 09 coordx = 0; 10 coordy = 0; 11 raio = 0; 12 cor = NULL; 13 }; Circulo::Circulo(int x, int y, int r, char *c) 16 { 17 coordx = x; 18 coordy = y; 19 raio = r; 20 cor = new char[strlen(c) +1]; 21 strcpy(cor, c); 22 }; Exemplo 01 - Circulo.cpp (1/2)

{joseana, DSC/CCT/UFCG 4 23 Circulo::Circulo (const Circulo &c) //construtor de cópia 24 { 25 raio = c.raio; 26 coordx = c.coordx; 27 coordy = c.coordy; 28 cor = new char [strlen(c.cor)+1] ; 29 strcpy(cor, c.cor); 30 }; 31 Circulo::~Circulo () //destrutor 32 { 33 delete [] cor; 34 }; 35 void Circulo::Listar() 36 { 37 cout << “coordenada x = ” << coordx << ‘\n’; 38 cout << “coordenada y = ” << coordy << ‘\n’; 39 cout << “raio = ” << raio << ‘\n’; 40 cout << “cor = ” << cor << ‘\n’; 41 }; // fim do construtor Horario 23 Circulo::Circulo (const Circulo &c) //construtor de cópia 24 { 25 raio = c.raio; 26 coordx = c.coordx; 27 coordy = c.coordy; 28 cor = new char [strlen(c.cor)+1] ; 29 strcpy(cor, c.cor); 30 }; 31 Circulo::~Circulo () //destrutor 32 { 33 delete [] cor; 34 }; 35 void Circulo::Listar() 36 { 37 cout << “coordenada x = ” << coordx << ‘\n’; 38 cout << “coordenada y = ” << coordy << ‘\n’; 39 cout << “raio = ” << raio << ‘\n’; 40 cout << “cor = ” << cor << ‘\n’; 41 }; // fim do construtor Horario Exemplo 01 - Circulo.cpp (2/2)

{joseana, DSC/CCT/UFCG 5 01 // Exemplo de programa de teste da classe Horario 02 // ATENÇÃO! Este arquivo deverá ser compilado juntamente com 03 // Circulo.cpp 04#include 05 06using std::cout; 07using std::endl; // inclusão da definição da classe Circulo de Circulo.h 10#include “Circulo.h” 11 12int main() 13{ 14Circulo circ1; // instanciação do objeto circ1 da classe Circulo 15Circulo circ2(10, 15, 33, "Azul"); 16 Circulo circ3(circ2); // listagem dos atributos dos objetos circ1 e circ2 19circ1.Listar(); 20 circ2.Listar(); 21circ3.Listar(); 22 } // fim do main 01 // Exemplo de programa de teste da classe Horario 02 // ATENÇÃO! Este arquivo deverá ser compilado juntamente com 03 // Circulo.cpp 04#include 05 06using std::cout; 07using std::endl; // inclusão da definição da classe Circulo de Circulo.h 10#include “Circulo.h” 11 12int main() 13{ 14Circulo circ1; // instanciação do objeto circ1 da classe Circulo 15Circulo circ2(10, 15, 33, "Azul"); 16 Circulo circ3(circ2); // listagem dos atributos dos objetos circ1 e circ2 19circ1.Listar(); 20 circ2.Listar(); 21circ3.Listar(); 22 } // fim do main Exemplo 01 – Programa de Teste da Classe Circulo (1/1)

{joseana, DSC/CCT/UFCG 6  Passagem de Parâmetros  Valor  Construtor de cópia do tipo de dados do parâmetro formal sempre é executado  Destrutor do tipo de dados do parâmetro formal libera o espaço utilizado  Exemplo void circulo::TestarCoord1(float x) { x = 5.96; coordx = x; };  Passagem de Parâmetros  Valor  Construtor de cópia do tipo de dados do parâmetro formal sempre é executado  Destrutor do tipo de dados do parâmetro formal libera o espaço utilizado  Exemplo void circulo::TestarCoord1(float x) { x = 5.96; coordx = x; }; Lembretes I

{joseana, DSC/CCT/UFCG 7  Passagem de Parâmetros  Referência  Os parâmetros atuais são associados aos parâmetros formais  Não existe cópia dos parâmetros  Nomes dos parâmetros formais substituem os nomes dos parâmetros atuais  Exemplo void circulo::TestarCoord2(float& x) { x = 7.19; coordx = x; };  Passagem de Parâmetros  Referência  Os parâmetros atuais são associados aos parâmetros formais  Não existe cópia dos parâmetros  Nomes dos parâmetros formais substituem os nomes dos parâmetros atuais  Exemplo void circulo::TestarCoord2(float& x) { x = 7.19; coordx = x; }; Lembretes II

{joseana, DSC/CCT/UFCG 8  Passagem de Parâmetros  Referência Constante  Parâmetros formais substituem parâmetros atuais, não se admite alteração de valor  Exemplo void circulo::TestarCoord3(const float& x) { x = 1.89; coordx = x; };  Passagem de Parâmetros  Referência Constante  Parâmetros formais substituem parâmetros atuais, não se admite alteração de valor  Exemplo void circulo::TestarCoord3(const float& x) { x = 1.89; coordx = x; }; Lembretes III

DSC/CCT/UFCG {joseana, José Eustáquio Rangel de Queiroz DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA