C++ - Herança. Herança é o processo pelo qual criamos novas classes, chamadas classes derivadas, baseadas em classes existentes ou classes-base.
|
|
- Mikaela Castelhano Camarinho
- 7 Há anos
- Visualizações:
Transcrição
1 C++ - Herança Herança é o processo pelo qual criamos novas classes, chamadas classes derivadas, baseadas em classes existentes ou classes-base. A classe derivada herda todas as características da classe-base, além de incluir características próprias adicionais. Vantagem : reutilização de código, permitindo uso de bibliotecas de classes criadas por outras pessoas. Derivando classes : Através de exemplos #include <iostream.h> #include <string.h> const TAM = 80; class BasAg // classe base protected : char nome[tam]; char numag[4]; BasAg( ) nome[0] = \0 ; numag[0] = \0 ; // construtores BasAg( char n[ ], char ng[ ] ) if ( strlen(n) < TAM ) strcpy(nome, n); if ( strlen(ng) < TAM ) strcpy(numag, ng); ; void print( ) cout << \ndados do Agente : ; cout << \n ; cout << \nnome : << nome; cout << \nnumero : << numag; class Agente : public BasAg protected: float altura; int idade; // classe derivada
2 Agente() : BasAg() // chama construtor da classe base altura = idade =0; Agente (char n[], char ng[], float a, int i) : BasAg (n, ng) altura = a; idade = i; ; void print( ) // mesmo nome da função membro de BasAg BasAg::print(); // chama print() da classe base cout << "\naltura : " << altura; cout << "\nidade : " << idade; void main( ) Agente agente("james Bond", "007", 90, 40); agente.print(); Observ. : Se duas funções de mesmo nome existem, uma na classe base e outra na classe derivada, a função da classe derivada será executada se for chamada por meio de um objeto da classe derivada. Se um objeto da classe-base é criado, usará sempre funções da própria classe-base pois não conhece nada da classe derivada. Membros protected são visíveis a todos os membros de uma classe derivada. Sempre que escrevermos uma classe que pode vir a ser uma classe-base de outras classes, devemos declarar como protected os membros privados necessários às classes derivadas. Herança pública e privada : Acesso público, privado e protegido à classebase através de membros e objetos da classe derivada, na derivação pública e privada. class BASE
3 ; protected : private : int secreto; int ultra_secreto; int publico; class DERIV1 : public BASE int a = secreto; int b = ultra_secreto; int c = publico; ; // Ok // Ok class DERIV2 : private BASE int a = secreto; int b = ultra_secreto; int c = publico; ; // Ok // Ok main( ) int x; DERIV1 obj1; x = obj1.a; x = obj1.b; x = obj1.c; DERIV2 obj2; // DERIV1 é public // Ok // DERIV2 é private x = obj2.a; x = obj2.b; x = obj2.c; Hierarquia de classes : Modela base de dados de conta bancária
4 Conta Simples Especial Poupança #include <iostream.h> #include <stdio.h> #include <iomanip.h> const TAM = 80; class conta private : char nome[tam]; int nconta; ; Prêmio // nome do cliente // número da conta float saldo; // saldo bancário void getdata( ) cout << \nnome : ; gets(nome); cout << \nnum. Conta : ; cin >> nconta; cout << \nsaldo : ; cin >> saldo; void putdata( ) cout << \nnome : << nome; cout << \nnum. Conta : << nconta; cout << \nsaldo : << setiosflags(ios::fixed) << setprecision(2) << saldo; float Saldo( ) return saldo; class contasimples : public conta ; class contaespecial : public conta private : float limite;
5 ; void getdata( ) conta :: getdata( ); // chama getdata() da classe-base cout << \nlimite : ; cin >> limite; void putdata( ) conta :: putdata( ) // chama putdata() da classe-base cout << \nlimite : << limite; cout << \nsaldo Total : << setiosflags(ios::fixed) << setprecision(2) << (Saldo() + limite); class Poupanca : public conta private : float taxa; void getdata( ) conta :: getdata( ); // chama getdata() da classe-base cout << \ntaxa : ; cin >> taxa; void putdata( ) conta :: putdata( ) // chama putdata() da classe-base cout << \ntaxa : << limite; cout << \nsaldo Total : << setiosflags(ios::fixed) << setprecision(2) << (Saldo() + limite); ; class contapremio : public Poupanca private : char prem[tam]; void getdata( ) Poupanca :: getdata( ); // chama getdata() da classe-base cout << \npremio : ; gets(prem); void putdata( )
6 ; Poupanca :: putdata( ) // chama putdata() da classe-base cout << \npremio : << prem; void main( ) conta Simples c1; contaespecial c2; Poupanca c3; contapremio c4; cout << \ndigite os dados da conta simples : ; c1.getdata(); cout << \ndigite os dados da conta especial : ; c2.getdata(); cout << \ndigite os dados da conta poupança : ; c3.getdata(); cout << \ndigite os dados da conta prêmio : ; c4.getdata(); cout << \n\n* Conta Simples : ; c1.putdata(); cout << \n\n* Conta Especial : ; c2.putdata(); cout << \n\n* Conta Poupança : ; c3.putdata(); cout << \n\n* Conta Prêmio : ; c4.putdata(); Observ. : Nenhum objeto da classe conta foi declarado. Ela foi usada como uma classe genérica, com o único propósito de agir como base para outras classes. Neste caso a classe é chamada abstrata. Conversões de tipos entre classe-base e classe derivada : conta C; contaespecial CE; CE.getdata(); C = CE; CE = C; // converte contaespecial em conta // Erro, não pode ser convertido Herança múltipla : uma classe pode herdar as características de mais de uma classe-base. Este processo é chamado herança múltipla. Ex. : Imóveis de uma imobiliária (para venda e para aluguel ) Tipo : comercial, residencial, etc. Já dispõe de um cadastro de clientes. Venda
7 Cadastro Imóvel Tipo Aluguel #include <iostream.h> #include <stdio.h> #include <iomanip.h> #include <string.h> class Cadastro private : char nome[30], fone [20]; Cadastro () nome[0]= fone[0]='\0'; // construtores Cadastro (char n[], char f[]) strcpy (nome, n); strcpy (fone, f); ; void getdata() cout << "\n\tnome : ";gets(nome); cout << "\tfone : ";gets(fone); void putdata() cout << "\n\tnome : " << nome; cout << "\n\tfone : " << fone; class Imovel private : char end[30], bairro[20]; float AreaUtil, AreaTotal; int quartos;
8 Imovel () // construtores end[0] = bairro[0] = '\0'; AreaUtil = AreaTotal = 0.0; quartos = 0; Imovel (char e[], char b[], float au, float at, int q) strcpy (end, e); strcpy (bairro, b); AreaUtil = au; AreaTotal = at; quartos = q; void getdata() cout << "\n\tend.: "; gets(end); cout << "\tbairro : "; gets(bairro); cout << "\tarea util : ";cin >> AreaUtil; cout << "\tarea Total : ";cin >> AreaTotal; cout << "\tno. quartos : ";cin >> quartos; void putdata() cout << "\n\tend.: " << end; cout << "\n\tbairro : " << bairro; cout << "\n\tarea util : " << setiosflags(ios::fixed) << setprecision(2) << AreaUtil; cout << "\n\tarea Total : " << setiosflags(ios::fixed) << setprecision(2) << AreaTotal; cout << "\n\tquartos : " << quartos; ; class Tipo private : char tipo[20]; Tipo() tipo[0]='\0'; // construtores Tipo (char t[]) strcpy (tipo, t) ;
9 void getdata() cout << "\n\ttipo: ";gets(tipo); void putdata() cout << "\n\ttipo: " << tipo; ; class Venda : private Cadastro, Imovel, Tipo private : float valor; Venda() : Cadastro(), Imovel(), Tipo() valor = 0.0; Venda (char n[],char f[], char e[], char b[], float au, float at, int q, char t[], float v) : Cadastro(n,f), Imovel(e, b, au, at, q), Tipo(t) valor = v; void getdata() cout << "\n...proprietario : "; Cadastro::getdata(); cout << "\n...imovel : "; Imovel::getdata(); Tipo::getdata(); cout << "\tvalor : "; cin >> valor; void putdata() cout << "\n...proprietario : "; Cadastro::putdata(); cout << "\n...imovel : "; Imovel::putdata(); Tipo::putdata(); cout << "\n\tvalor : " << valor; ; class Aluguel : private Cadastro, Imovel, Tipo private : float aluguel; int prazo; Cadastro proprietario;
10 Aluguel() : Cadastro(), Imovel(), Tipo() aluguel = 0.0; prazo = 0; Aluguel (char n[], char f[], char e[], char b[], float au, float at, int q, char t[], float a, int p) : Cadastro(n,f), Imovel (e, b, au, at, q), Tipo(t) aluguel = a; prazo = p; void getdata() cout << "\n...proprietario : "; proprietario.getdata(); cout << "\n...inquilino : "; Cadastro::getdata(); cout << "\n...imovel : "; Imovel::getdata(); Tipo::getdata(); cout << "\taluguel : "; cin >> aluguel; cout << "\tprazo do contrato : "; cin >> prazo; ; void putdata() cout << "\n...proprietario : "; proprietario.putdata(); cout << "\n...inquilino : "; Cadastro::putdata(); cout << "\n...imovel : "; Imovel::putdata(); Tipo::putdata(); cout << "\n\taluguel : " << aluguel; cout << "\n\tprazo de contrato : " << prazo; void main() Venda v1; Aluguel a1; cout << "\ndigite os dados do imovel : Venda "; v1.getdata(); cout << "\ndigite os dados do imovel : Aluguel "; a1.getdata(); cout << "\n\n* Imovel para venda * "; v1.putdata(); cout << "\n\n* Imovel para aluguel * "; a1.putdata();
11 Objetos de uma classe como membro de outra classe : Na classe Aluguel declaramos um objeto proprietario da classe Cadastro. Os membros deste objeto são acessados internamente por meio do operador ponto. Ambigüidade em herança múltipla : Veja o exemplo a seguir: class X void print() cout << \nclasse X ; ; class Y void print() cout << \nclasse Y ; ; // mesmo nome class Z : public X, Y // derivada de X e Y ; // não tem função com nome print() void main( ) Z obj; obj.print(); obj.x::print(); obj.y::print(); Assunto : Herança // ambigüidade. Erro do compilador // Ok, usa o print() da classe X // Ok, usa o print() da classe Y Prática VIII Imagine que você deva escrever um programa para armazenar veículos. Primeiramente, crie a classe Motor que contém NumCilindro (int) e Potência (int), Inclua um construtor sem argumentos que inicialize os dados com zeros e um construtor que inicialize os dados com os valores
12 recebidos como argumento. Acrescente uma função para entrada de dados, getdata(), e outra que imprima os dados, putdata(). Escreva a classe Veículo contendo Peso em quilos (int), VelocMac em Km/h (int) e Preço em R$ (float). Inclua um construtor sem argumentos que inicialize os dados com zeros e um construtor que inicialize os dados com os valores recebidos como argumento. Acrescente uma função para entrada de dados, getdata(), e outra que imprima os dados, putdata(). Crie a classe CarroPasseio usando as classes Motor e Veículo como base. Inclua Cor (string) e Modelo (string). Inclua um construtor sem argumentos que inicialize os dados com zeros e um construtor que inicialize os dados com os valores recebidos como argumento. Acrescente uma função para entrada de dados, getdata(), e outra que imprima os dados, putdata(). Crie a classe Caminhão derivada das classes Motor e Veículo. Inclua Toneladas (carga máxima), AlturaMax (int) e Comprimento (int). Inclua um construtor sem argumentos que inicialize os dados com zeros e um construtor que inicialize os dados com os valores recebidos como argumento. Acrescente uma função para entrada de dados, getdata(), e outra que imprima os dados, putdata(). Crie um programa para testar as classes dos itens anteriores.
C++ - Funções Virtuais (Polimorfismo) Base. Deriv0 Deriv1 Deriv2. print( ) print( ) print( ) dv0 dv1 dv2. p[0] = &dv0; p[1] = &dv1; p[2] = &dv2;
C++ - Funções Virtuais (Polimorfismo) Polimorfismo : (assumir várias formas) Em C++ indica a habilidade de uma única instrução chamar diferentes funções e portanto assumir formas diferentes. Veja isto
Leia maisC++ - Sobrecarga de Operadores
C++ - Sobrecarga de Operadores Sobrecarregar um operador significa redefinir seu símbolo, de maneira que ele se aplique também a tipos de dados definidos pelo usuário como classes e estruturas. A implementação
Leia maisC++ - Classes e Objetos
C++ - Classes e Objetos Classe : Tipo que combina os dados e as funções para operá-los. Objeto : variável de uma classe. Partes dados-membro ou variáveis de instância funções-membro ou métodos Definição
Leia maisAula 6: Sobrecarga de Operadores e Herança
Aula 6: Sobrecarga de Operadores e Herança Sobrecarga de Operadores Definição Relacionamentos Generalização/Especialização Vínculo Agregação Herança Definições Representação UML Exemplos (Direto/Indireto)
Leia maisC++ - Ponteiros (continuação) cout << \nquantas notas? ; cin >> tamanho; notas = new int[tamanho]; //aloca memória
C++ - Ponteiros (continuação) Dimensionando matrizes em tempo de execução : Exemplo int tamanho; int *notas; // ponteiro para inteiro cout > tamanho; notas = new int[tamanho];
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisAlgoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
Leia maisIntrodução a Programação. Tipos Estruturados de Dados
Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados
Leia maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisComputação I - C Prova /10/ Profs. Adriano Cruz e Valeria Bastos
Computação I - C Prova 2 2016-2 14/10/2016 - Profs. Adriano Cruz e Valeria Bastos Nome: DRE: Observação: Justifique todas as respostas dadas. Some nte serão aceitas respostas com justificativas. Questão
Leia maisC++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.
C++ - Matrizes É um conjunto de variáveis, do mesmo tipo, referenciadas por um único nome, onde cada variável é diferenciada por meio de um número entre colchetes chamado índice. Declaração : tipo nome
Leia maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisProgramação Avançada C++ Slide 12 Nielsen Castelo Damasceno
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como
Leia maisHerança. Prof. Leonardo Barreto Campos 1
Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;
Leia maisTemplate de classe. class vetor { int *arranjo; int limite; public: vetor(int=100); int & operator[ ](int n); };
Template de classe! Idéia é semelhante ao template de função! Usando a classe vetor que foi desenvolvida anteriormente: class vetor { int *arranjo; int limite; public: vetor(int=100); int & operator[ ](int
Leia maisESTRUTURAS COMPOSTAS VETOR
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches 2 ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as
Leia maisProgramação Orientada a Objetos
Herança Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Herança 1 Reutilização / Reuso São palavras-chave no conceito de herança; Reutilizar um código que já tenha sido escrito, e que já esteja
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisIntrodução ao C++ Ambientes de Desenvolvimento Avançados. 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1
Introdução ao C++ Ambientes de Desenvolvimento Avançados 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1 C++! Extensão ao c! Facilita a representação de tipos de dados abstractos (tipo classe)! Suporte
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Template Templates Funções templates Especificam
Leia maisLinguagem de Programação C++
O que acontecerá se um programa driver para a classe Matriz efetuasse a seguinte sequência de instruções: #include "Matriz.h" int main() char opcao; switch (opcao) case 1: } 201 } int l, c; cout
Leia mais1.Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p;y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x;
PONTEIROS 1.Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p;y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x; 2.Os programas (trechos de código) abaixo possuem
Leia maisProgramação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisESTRUTURAS COMPOSTAS VETOR
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as ESTRUTURAS
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Herança Herança Criação de uma nova classe de uma
Leia maisPonteiros. Introdução
Ponteiros Introdução Conceito Um PONTEIRO ou APONTADOR é uma variável usada para armazenar um endereço de memória. Normalmente, o endereço armazenado em um PONTEIRO é a posição de uma outra variável na
Leia maisMódulo 1. Introdução. AEDS I C++ (Rone Ilídio)
Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem
Leia maisUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) 2 a Prova
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) Curso: Engenharia Eletrônica, Disciplina: Fundamentos de Programação II (IF62C), Turma: S Professores: Hermes Del
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisMétodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Leia maisESTRUTURAS COMPOSTAS
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Clique para adicionar texto Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Rosely Sanches
Leia maisLinguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Sobrecarga de operadores
Leia maisIntrodução à Programação. Encapsulamento e Herança
Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Leia maisprim = A ; prim = &A[0];
57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro
Leia maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisStrings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.
Introdução Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos. 1 definições Uma string é uma sequência, um conjunto, ou uma cadeia de caracteres.
Leia maisLinguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Polimorfismo Mais exemplos
Leia mais11a. Aula Ponteiros e Vetores
11a. Aula Ponteiros e Vetores 2013.2 2 É um tipo de variável com uma ressalva...... armazena apenasendereçode memória (ou null) Se eu tiver o endereço da casa de Francisca, eu poderei visitá-la e lhe fazer
Leia maisComputação 2. Aula 6B. Profª. Fabiany Vetor de Estruturas (structs)
Computação 2 Aula 6B Vetor de Estruturas (structs) Profª. Fabiany fabianyl@utfpr.edu.br Vetor de estruturas (structs) Podemos declarar um vetor de estruturas, para isso primeiro definimos um tipo estrutura
Leia maisVB.NET - Orientação a objetos : conceitos básicos em 10
lições. VB.NET - Orientação a objetos : conceitos básicos em 10 Lição 1 - Como criar classe e métodos. Instanciando um objeto e acessando o método da classe. - Para criar uma classe basta usar a palavra
Leia maisAula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisHerança (parte 2) Redefinição de métodos AULA 11
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Herança (parte 2) Redefinição de métodos AULA 11 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Na aula passada
Leia maisLista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204
Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Exercício 1: Descreva algumas diferenças básicas entre programação estruturada e programação orientada a objetos. Exercício 2: Para que
Leia maisAula 24 Ponteiros, vetores e structs
Programação Aula 24 Ponteiros, vetores e structs Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis
Leia maisDeclarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;
Declarando e Utilizando Ponteiros Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar
Leia maisC++ - Funções. Forma geral das funções C++
C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisHerança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisFábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença
C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout
Leia maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisLinguagem de Programação C++
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
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.5. Vetores 3.5.1. Vetores 3.5.2. Strings 3.5.3.
Leia maisINTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisINF 1620 P1-13/09/02 Questão 1 Nome:
INF 1620 P1-13/09/02 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisEstrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura
Estrutura de Dados TAD (Tipo Abstrato de Dados) Criando a primeira estrutura TAD Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleção de operações que atual sobre esses
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?
Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisIntrodução a Programação. Ponteiros e Passagem de Argumentos por Referência
Introdução a Programação Ponteiros e Passagem de Argumentos por Referência Tópicos da Aula Hoje aprenderemos a manipular endereços de memória ou ponteiros Variáveis e Endereços Conceito de Ponteiro Operadores
Leia maisLinguagem de Programação. Diagrama de classes
Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um
Leia maisProgramação Orientada a Objetos em C++: introdução à herança
Programação Orientada a Objetos em C++: introdução à herança Disciplina de Programação Científica II Aula 15 de 18 21/06/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa
Leia maisPonteiros. Introdução e Alocação Dinâmica
Ponteiros Introdução e Alocação Dinâmica Conceito Um PONTEIRO ou APONTADOR é uma variável usada para armazenar um endereço de memória. Normalmente, o endereço armazenado em um PONTEIRO é a posição de uma
Leia maisComputação 2. Aula 5. Diego Addan Estrutura de Dados Registros (structs)
Computação 2 Aula 5 Estrutura de Dados Registros (structs) Diego Addan diegoaddan@gmail.com Estruturas ou Registros (structs) Uma estrutura (registro) é uma coleção de variáveis referenciadas por um nome,
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisProgramação de Computadores II. Cap. 5 Alocação Dinâmica
Programação de Computadores II Cap. 5 Alocação Dinâmica Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais
Leia maisINF 1620 P1-11/04/08 Questão 1 Nome:
INF 1620 P1-11/04/08 Questão 1 Nas Olimpíadas, em uma determinada modalidade esportiva, os competidores recebem a nota de quatro jurados e a nota final é o resultado da média das quatro notas menos um
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
Leia maisConversão de Tipos. BCC Programação Orientada a Objectos(POO)
Conversão de Tipos BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Introdução Como já vimos
Leia maisCurso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012
urso de à urso de à Universidade Federal Fluminense July 16, 2012 Indrodução urso de à O é uma linguagem de programação criada por Dennis Ritchie, em 1972 e que continua a ser muito utilizada até os dias
Leia maisTécnicas de Programação I
Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Registros e Arquivos Conceito
Leia maisSSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Introdução a Linguagem C GE4 Bio GE4Bio Grupo de Estudos
Leia maisQ1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P4 28/06/2011. Aluno: Matrícula: Turma: _
P4 28/06/2011 Matrícula: Turma: _ Q1 Q2 Q3 Questão 1) (3,0 pontos) Uma certa firma fez uma pesquisa de mercado durante vários dias para saber se as mulheres e os homens têm a mesma opinião sobre o produto.
Leia maisINF 1620 P1-11/04/03 Questão 1 Nome:
INF 1620 P1-11/04/03 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. Essa função deve obedecer
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisIntrodução à Computação
Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento julliano.rn@gmail.com Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos
Leia maisRelacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos
Leia maisVariáveis e Operadores em C
Variáveis e Operadores em C Luís Charneca luis.charneca@gmail.com NOMES DE VARIÁVEIS (1) As variáveis no C podem ter qualquer nome se duas condições forem satisfeitas: o nome deve começar com uma letra
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso
Leia maisIntrodução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes
Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores
Leia maisÍndice. Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5
Índice Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5 Definição Podemos definir sub-rotinas como sendo blocos de instruções que realizam tarefas específicas. O código de uma sub-rotina
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1.ado o seguinte código: class valiacao { Qual fragmento de código irá compilar? a) class Prova extends valiacao { b)
Leia maisEstruturas de Dados. Profa. Juliana Pinheiro Campos
Estruturas de Dados Profa. Juliana Pinheiro Campos Vetores Forma mais simples de estruturar um conjunto de dados. Exemplo: int p[10]; // vetor de inteiros com 10 elementos Reserva de um espaço de memória
Leia maisMatrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná
em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem
Leia maisTipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação
Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,
Leia maisVetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz
Variáveis Compostas Homogêneas São conhecidas na linguagem C como matrizes. Vetores e es É um conjunto de variáveis do mesmo tipo, acessíveis com um único nome e armazenadas de forma contínua na memória.
Leia maisPROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Calculo da área de um triângulo Algoritmo Área Var base,
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Leia maisTemplates. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP
Templates BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Introdução Os templates ou gabaritos fornecem a base para existência da programação genérica
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisMétodos Computacionais. Tipos Estruturados
Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também
Leia mais