Técnicas de Programação:

Tamanho: px
Começar a partir da página:

Download "Técnicas de Programação:"

Transcrição

1 Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB

2 Programação Orientada a Objeto Herança É uma forma de reutilização de software em que o programador cria uma classe que absorve dados e comportamentos de uma classe existente e os aprimora com novas capacidades. É uma forma de reusar ou aproveitar software já testados e depurados Reusabilidade Denominações 2 Em C++ Java Classe Original Classe Básica Superclasse Nova Classe Classe Derivada subclasse

3 Herança Exemplo de herança O objeto círculo herda características da classe bidimensional que, por sua vez, herda da classe forma. Ou seja: o círculo é um objeto bidimensional que é uma forma. 3 Forma Bidimensional Tridimensional Círculo Quadrado Triângulo Retângulo Esfera Cubo Tetraedro

4 Herança Exemplo de programação de herança 4 Veículo Caminhão Automóvel

5 Classe VEICULO No trecho de código abaixo tem-se a definição da classe veiculo 5 class veiculo int passageiros; int rodas; public: void set_rodas(int num) rodas = num; ; int get_rodas() return rodas; ; void set_pass(int num) passageiros = num; ; int get_pass() return passageiros; ; ;

6 Classe CAMINHÃO (sem herança) 6 class caminhao Repetição do int passageiros; mesmo código int rodas; da classe veiculo int carga; public: void set_rodas(int num) rodas = num; ; int get_rodas() return rodas; ; void set_pass(int num) passageiros = num; ; int get_pass() return passageiros; ; ; void set_carga(int num) carga = num; ; int get_carga() return carga; ; void show(); Claramente ver-se que boa parte do código de veículo pode ser aproveitada na classe caminhão Ver-se que as particularidades de caminhão (carga, etc...) é que precisam ser programadas

7 Classe CAMINHÃO (com herança) O : indica que a classe caminhao herda da classe class caminhao : public veiculo veiculos seus int carga; membros public: void set_carga(int num) carga = num; ; int get_carga() return carga; ; void show(); ; 7 public Indica que a classe caminhao só tem acesso aos membros públicos de veiculo Existem outros especificadores: protected private

8 Classe automovel(com herança) 8 class automovel : public veiculo int tipo; // 0 = Van, 1 = Carro e 2 = SUV public: void set_type(int t) tipo = t; ; int get_type() return tipo; ; void show(); ;

9 Funções-membros // Descrição das Funções void caminhao::show() cout << "\ninformacao do Caminhao\n"; cout << "Quantidade de rodas: " << get_rodas() << endl; cout << "Quantidade maxima de passageiros: " << get_pass() << endl; cout << "Capacidade maxima para transporte (carga): " << get_carga() << endl; 9 void automovel::show() cout << "\ninformacao do Automovel\n"; cout << "Quantidade de rodas: " << get_rodas() << endl; cout << "Quantidade maxima de passageiros: " << get_pass() << endl; cout << "Tipo de automovel: "; switch(get_type()) case 0: cout << " Van\n"; break; case 1: cout << " Carro\n"; break; case 2: cout << " SUV\n"; break;

10 Programa Principal int main() caminhao t1, t2; automovel c; 10 t1.set_rodas(18); t1.set_pass(2); t1.set_carga(3200); t2.set_rodas(6); t2.set_pass(3); t2.set_carga(1200); t1.show(); t2.show(); c.set_rodas(4); c.set_pass(10); c.set_type(0); c.show(); system("pause"); return 0;

11 Separando as definições de classes em arquivos de cabeçalho 11 Considere o programa anterior Coloque a definição da classe veiculo em arquivo separado do arquivo que contém o main.

12 Separando as definições de classes em arquivos de cabeçalho 12 Passos Adicione um arquivo de cabeçalho BD Add New Item Header File Minhas_classes.h No arquivo principal, inclua: #include "Minhas_classes.h"

13 #include <iostream> using namespace std; class veiculo // Definicao da classe generica veiculo int passageiros; int rodas; public: void set_rodas(int num) rodas = num; ; int get_rodas() return rodas; ; void set_pass(int num) passageiros = num; ; int get_pass() return passageiros; ; ; class caminhao : public veiculo // Definicao da classe caminhao int carga; public: void set_carga(int num) carga = num; ; int get_carga() return carga; ; void show(); ; class automovel : public veiculo // Definicao da classe automovel int tipo; // 0 = Van, 1 = Carro e 2 = SUV public: void set_type(int t) tipo = t; ; int get_type() return tipo; ; void show(); ; void caminhao::show() // Descrição das Funções cout << "\ninformacao do Caminhao\n"; cout << "Quantidade de rodas: " << get_rodas() << endl; cout << "Quantidade maxima de passageiros: " << get_pass() << endl; cout << "Capacidade maxima para transporte (carga): " << get_carga() << endl; void automovel::show() cout << "\ninformacao do Automovel\n"; cout << "Quantidade de rodas: " << get_rodas() << endl; cout << "Quantidade maxima de passageiros: " << get_pass() << endl; cout << "Tipo de automovel: "; switch(get_type()) case 0: cout << " Van\n"; break; case 1: cout << " Carro\n"; break; case 2: cout << " SUV\n"; break; Minhas_classes.h 13

14 #include <iostream> #include "Minhas_classes.h" int main() caminhao t1, t2; automovel c; t1.set_rodas(18); t1.set_pass(2); t1.set_carga(3200); t2.set_rodas(6); t2.set_pass(3); t2.set_carga(1200); t1.show(); t2.show(); c.set_rodas(4); c.set_pass(10); c.set_type(0); c.show(); Arquivo Fonte Principal 14 system("pause"); return 0;

15 Exercício Programe a classe motocicleta que seja derivada da classe básica veiculo e que contenha: Membros privados: numero_capacete Funções públicas: Para setar o número de capacetes disponíveis Para pegar o número de capacetes disponíveis 15

16 Enumerações Um enum (enumeração) é um tipo definido pelo usuário (programador) que consiste em constantes do tipo int nomeadas. Exemplo usando a diretiva de pré-processamento #define #define BRASIL 0 #define ITALIA 1 #define PORTUGAL 2 #define ALEMANHA 3 Exemplo usando enum enum ; BRASIL, ITALIA, PORTUGAL, ALEMANHA BRASIL = 0 ITALIA = 1 PORTUGAL = 2 ALEMANHA = 3 16

17 Exemplo usando a diretiva de préprocessamento #define 17 #include <iostream> #define BRASIL 0 #define ITALIA 1 #define PORTUGAL 2 #define ALEMANHA 3 using namespace std; int main() int n; cout << "Digite um numero entre 0 e 4 " << endl; cin >> n; if (n == BRASIL ) cout << "Voce escolheu o Brasil" << endl; else if (n == ITALIA ) cout << "Voce escolheu a Italia" << endl; else if (n == PORTUGAL ) cout << "Voce escolheu Portugal" << endl; else if (n == ALEMANHA ) cout << "Voce escolheu a Alemanha" << endl; else if (n!= BRASIL n!= ITALIA n!= PORTUGAL n!= ALEMANHA ) cout << "Erro: voce escolheu um numero errado!!" << endl; system("pause"); return 0;

18 Exemplo usando enum #include <iostream> using namespace std; 18 enum ; BRASIL, ITALIA, PORTUGAL, ALEMANHA int main() int n; cout << "Digite um numero entre 0 e 4 " << endl; cin >> n; if (n == BRASIL ) cout << "Voce escolheu o Brasil" << endl; else if (n == ITALIA ) cout << "Voce escolheu a Italia" << endl; else if (n == PORTUGAL ) cout << "Voce escolheu Portugal" << endl; else if (n == ALEMANHA ) cout << "Voce escolheu a Alemanha" << endl; else if (n!= BRASIL n!= ITALIA n!= PORTUGAL n!= ALEMANHA ) cout << "Erro: voce escolheu um numero errado!!" << endl; system("pause"); return 0;

19 Outro exemplo usando enum 19 #include <iostream> using namespace std; enum Paises BRASIL, ITALIA, PORTUGAL, ALEMANHA ; int main() int n ; cout << "Digite um numero entre 0 e 4 " << endl; cin >> n; Paises pais = (Paises)n; // Conversão explícita (CASTING) if (pais == BRASIL ) cout << "Voce escolheu o Brasil" << endl; else if (pais == ITALIA ) cout << "Voce escolheu a Italia" << endl; else if (pais == PORTUGAL ) cout << "Voce escolheu Portugal" << endl; else if (pais == ALEMANHA ) cout << "Voce escolheu a Alemanha" << endl; else if (pais!= BRASIL pais!= ITALIA pais!= PORTUGAL pais!= ALEMANHA ) cout << "Erro: voce escolheu um numero errado!!" << endl; system("pause"); return 0;

20 Erro porque ITALIA é definidada 2 vezes 20 enum Paises BRASIL, ITALIA, ALEMANHA ; enum Uvas RUBI, ITALIA, UMOUTROTIPODEUVA ;

21 Solução namespace Paises enum BRASIL, ITALIA, ALEMANHA ; 21 namespace Uvas enum ; RUBI, ITALIA, UMOUTROTIPODEUVA //*...*// //Modo de uso: std::cout << Uvas::ITALIA; std::cout << Paises::ITALIA;

Programação Orientada a Objetos em C++: introdução à herança

Programaçã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 mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando 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

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃ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 mais

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

Pilhas. Profa Morganna Diniz

Pilhas. Profa Morganna Diniz Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por

Leia mais

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Computação e Programação Aula prática nº 5. Enunciados dos problemas Enunciados dos problemas 1 1. Processador de números 1.1 Objectivos do exercício análise sequencial de um problema baseada em objectos e desenvolvimento do respectivo algoritmo; codificação do algoritmo

Leia mais

Linguagem de Programação III

Linguagem de Programação III Clique para editar o estilo do subtítulo mestre Linguagem de Programação III Histórico Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Comparação com Java Histórico Desenvolvido por

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Aula 10 Comandos de Repetição

Aula 10 Comandos de Repetição Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária

Leia mais

//conteúdo do arquivo pacote.h

//conteúdo do arquivo pacote.h //conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Fundamentos de Programação II. Introdução à linguagem de programação C++

Fundamentos de Programação II. Introdução à linguagem de programação C++ Fundamentos de Programação II Introdução à linguagem de programação C++ Prof. Rafael Henrique D. Zottesso Material cedido por Prof. Msc. Everton Fernando Baro Agenda IDE HelloWorld Variáveis Operadores

Leia mais

Programação de Computadores Primeiros Passos Práticos em C++

Programação de Computadores Primeiros Passos Práticos em C++ Programação de Computadores Primeiros Passos Práticos em C++ Alan de Freitas! Marco Antonio Carvalho Compilação de Programas O compilador é o responsável por transformar nosso código em um programa propriamente

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Módulo 4 Instruções for, while e do/while Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Estrutura de repetição for Repete uma seqüência de comando O número de vezes que ocorrerá a repetição é controlado

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA DE REPETIÇÃO Prof. Dr. Daniel Caetano 2013-2 Objetivos Entender o que é uma estrutura de repetição Compreender como implementar as repetições Capacitar para

Leia mais

Programação aplicada de computadores Andréa Maria Pedrosa Valli

Programação aplicada de computadores Andréa Maria Pedrosa Valli Universidade Federal do Espírito Santo Laboratório de Computação de Alto Desempenho - LCAD Programação aplicada de computadores Andréa Maria Pedrosa Valli 1 Classes Parte 4 1. Herança 2. Classes básicas

Leia mais

Guia e Utilização do Visual Studio 6.0

Guia e Utilização do Visual Studio 6.0 Guia e Utilização do Visual Studio 6.0 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio 6.0. Passo 1: Criação de

Leia mais

1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse

1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse 1. Herança Herança - forma de reutilização de software Novas classes são criadas a partir de classes já existentes Absorvem atributos e comportamentos, e incluem os seus próprios Sobrescrevem métodos -

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Objectivos Indicação onde são utilizados os computadores Primeiro programa em C++ Etapas básicas do desenvolvimento de programas Projecto centrado nos objectos Classes e programação

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

LISTA DE EXERCÍCIOS 2

LISTA DE EXERCÍCIOS 2 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo

Leia mais

Aula 11: Laços e exercícios

Aula 11: Laços e exercícios Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o que são decisões múltiplas Compreender como implementar decisões múltiplas Capacitar

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 1 Linguagens de Programação Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto

Leia mais

Técnicas de Programação:

Técnicas de Programação: Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.

Leia mais

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

Aula 3 Objeto atual com referencia THIS e Classes com Herança

Aula 3 Objeto atual com referencia THIS e Classes com Herança Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

ESTRUTURA COM DECISÃO COMPOSTA

ESTRUTURA COM DECISÃO COMPOSTA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO COMPOSTA Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o que são decisões compostas Compreender como implementar decisões compostas Capacitar

Leia mais

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015 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

Leia mais

Aula 05: Condicionais (Parte 2)

Aula 05: Condicionais (Parte 2) Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Polimorfismo. Prof. Leonardo Barreto Campos 1

Polimorfismo. Prof. Leonardo Barreto Campos 1 Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

Leia mais

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Aula 10: Manipulação do fluxo de laços

Aula 10: Manipulação do fluxo de laços Aula 10: Manipulação do fluxo de laços Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos

Leia mais

Herança. Algoritmos e Programação II. Aula 5 Herança

Herança. Algoritmos e Programação II. Aula 5 Herança Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com

Leia mais

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo

Leia mais

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Entrada e saída de dados pode ser feita: Para dispositivo de entrada/saída (monitor, impressora,

Leia mais

DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

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

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Orientação a Objetos e a Linguagem Java

Orientação a Objetos e a Linguagem Java Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Reutilizição com Herança e Composição Novembro/2006 2 Introdução Separar as partes que podem mudar das partes que

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Olimpíadas de Informática

Olimpíadas de Informática Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C++. Prof. Gemilson George gemilson_geo gemilson@colegiogeo.com.br (83)8792-7419 informaticageo.wordpress.com (Grupo): GEO.OBI

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void //conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();

Leia mais

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 95 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 96 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível Nesta etapa estudaremos

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA OUTRAS ESTRUTURAS DE REPETIÇÃO Prof. Dr. Daniel Caetano 2013-1 Objetivos Conhecer outras estruturas de repetição da linguagem C/C++ Compreender o uso de cada uma delas

Leia mais

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Programação de Computadores I. Conhecendo a IDE Code::Blocks Code::Blocks Conhecendo a IDE Programação de Computadores I Professor: Edwar Saliba Júnior Conhecendo a IDE Code::Blocks Apresentação: 1) Abra a IDE (Integrated Development Environment), ou seja, o Ambiente

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA OUTRAS ESTRUTURAS DE REPETIÇÃO Prof. Dr. Daniel Caetano 2018-1 Objetivos Conhecer outras estruturas de repetição da linguagem C/C++ Compreender o uso de cada uma delas

Leia mais

Tópicos em Engenharia de Computação

Tópicos em Engenharia de Computação Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas

Leia mais

Linguagem de Programação C++

Linguagem 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 mais

Aula 06 Usando controles em ASP.NET

Aula 06 Usando controles em ASP.NET Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: Linguagem de Programação Plataforma.NET 2 Aula 06 Usando controles em ASP.NET Nas propriedades do FORM temos a opções EnableViewState. Esta

Leia mais

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 Os programas que vimos até agora têm a seguinte estrutura: main( ) declarações instrução 1 instrução 2 instrução 3... instrução

Leia mais

Programação e Sistemas de Informação

Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Programação e Sistemas de Informação REVISÕES 1 Conteúdos Introdução Declaração de strings Atribuição de valores a strings

Leia mais

OO Engenharia Eletrônica

OO Engenharia Eletrônica OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à Multithreading. Introdução à Multithreading: execução concorrente de tarefas. Exemplos usando a biblioteca C Run-time library. Prof.

Leia mais

Mestrado em Matemática Financeira

Mestrado em Matemática Financeira Programação Mestrado em Matemática Financeira http://moodle.fc.ul.pt Luís Sequeira 03 de Janeiro de 2014 Bom dia! 2 Contactos......................................................... 3 Abstracção!.......................................................

Leia mais

Padrão Básico de Projeto: Interfaces e Polimorfismo

Padrão Básico de Projeto: Interfaces e Polimorfismo Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação

Leia mais

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW Primeiro passo: download Primeiramente devemos baixar o eclipse para c++, sugiro a ultima versão o Mars M4 https://eclipse.org/downloads/packages/release/mars/m4

Leia mais

Orientação a Objetos Programação em C++

Orientação a Objetos Programação em C++ OO - Engenharia de Computação/Eletrônica Orientação a Objetos Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) - Exemplificado

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Analise o código abaixo:

Analise o código abaixo: Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k

Leia mais

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas Programação com Objectos Processamento de Dados I 4. Classes Abstractas 1 Conceito de classe abstracta Declaração de uma classe abstracta Implicações e características das classes abstractas Utilização

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx //conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D public: Ponto2D (float, float); void setx (float); void sety (float); float getx (); float gety ();

Leia mais

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 14: Funções Passagem de Parâmetros por Referência CI208 - Programação de Computadores Aula 14: Funções Passagem de Parâmetros por Referência Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

ITENS FUNDAMENTAIS Programando em C++

ITENS FUNDAMENTAIS Programando em C++ INFORMÁTICA E COMPUTAÇÃO - CMP 1060 AULA 3 ITENS FUNDAMENTAIS Programando em C++ 1. Constantes São valores que são mantidos fixos pelo compilador. Tipo de Dado Exemplos de Constantes char b \n \0 int 2

Leia mais

Módulo 07 Características Avançadas de Classes

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE.

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE. Computação L2 Arquivos Observação: Material da Disciplina Computação Eletrônica CIN/UFPE. Memórias do Computador HD: permanente (pode desligar o computador), barato e lento; O HD é representado por um

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo Linguagem C/C++ Estrutura Condicional Prof: Rosemary Melo Estrutura Condicional if... (simples) Sintaxe (como o comando deve ser escrito): if (condição) comando; ou, no caso de mais de um comando: if (condição)

Leia mais

Aula 1 Tipo Abstrato de Dados

Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para

Leia mais

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,

Leia mais

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados) Lista de Exercícios da 3ª Unidade ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados) 1. (Seg. chamada - 2014.1) Construa um programa em C que realize as seguintes operações: a) Faça uma função

Leia mais

Algoritmos - Paulo Roberto

Algoritmos - Paulo Roberto 1 - ESTRUTURA DE REPETIÇÃO: "LOOPIG". REPITA...ATÉ (Pós-Teste - Testa a condição no final, após a estrutura ter sido executada uma vez.) Esta estrutura faz um teste lógico no final de um laço de repetição.

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Utilizando cin: primeiros passos

Utilizando cin: primeiros passos Utilizando cin: primeiros passos Já sabemos Que cout é usado para imprimir informações na tela Uma alterna6va em C é o prin9. Procure mais informações dele O que poderia ser usado para fazer entrada? Se

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof. UNIVERSIDADE EDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 Linguagem de Programação Turma 03 2015.1 Prof. Einstein Santos Aula 05/06: Comandos de decisão Pontos da aula O comando

Leia mais

Programação aplicada de computadores Andréa Maria Pedrosa Valli

Programação aplicada de computadores Andréa Maria Pedrosa Valli Universidade Federal do Espírito Santo Laboratório de Computação de Alto Desempenho - LCAD Programação aplicada de computadores Andréa Maria Pedrosa Valli 1 Classes Parte 1 1. Classes, variáveis e funções

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento 1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Linguagens de Programação

Linguagens 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 mais

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

Programação Orientada a Objetos C++

Programação Orientada a Objetos C++ Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs

Leia mais