Minicurso C++ orientado a objetos
|
|
|
- Ana Lívia Batista Caldeira
- 10 Há anos
- Visualizações:
Transcrição
1 Minicurso C++ orientado a objetos CompPET 2015
2 Sobre C++ - Desenvolvida por Bjarne Stroustrup em 1979; - Derivada da linguagem C; - Elementos principais adicionados a linguagem C para gerar C++ é a representação a objetos. - Linguagem compilada; - Tipagem estática;
3 Orientação a Objetos É um dos paradigmas de programação mais utilizados atualmente. Sendo que, paradigmas diferem nos conceitos e abstrações utilizadas para representar os elementos de um programa e as etapas que compõem um cálculo. Facilita a manutenção do sistema. Facilita o reuso de código. Facilita a comunicação entre os envolvidos na produção do sistema por permitir a modelagem dos dados. Aproxima o real do implementado.
4 Tipos de dados Todas as variáveis em C++ devem ser declaradas antes de serem utilizadas. Em C++ existem os seguintes tipos básicos de dados: int float double char string Os modificadores short, long, unsigned são aceitos.
5 Operadores = +, -, *, /, % ++, - +=, -=, *=. /=, %= <, <=, >, >=, ==,!= &&,,!
6 A diretiva using Um namespace é uma coleção de definições de nome. É semelhante a um sobrenome. A maioria das bibliotecas padrão colocaram suas definições no namespace std. Portanto, para utilizar, por exemplo os comandos cout e cin teríamos que utilizar: std::cout<<"escrevendo na tela"; Por questão de praticidade utilizamos a diretiva using que permite que os nomes dentro de um namespace possam ser utilizados sem explicitar o qualificador. Utilizando using namespace std.
7 Entrada e saída padrão Em C++ a entrada e saída de informações se dão a partir de funções da biblioteca iostream. Para a entrada de dados (leitura de valores) utiliza-se o comando cin: Sintaxe: cin>>variavel; Pode-se utilizar o cin com múltiplas entradas: cin>>var1>>var2>>varn; O operador >> interpreta o " " como finalizador da entrada;
8 Entrada e saída padrão Para a impressão de dados utiliza-se o comando cout com o operador de inserção << : Sintaxe: cout<<"texto a ser escrito na tela"; Para saltar uma linha após a escrita utiliza-se o comando endl. Teríamos, portanto: cout<<"texto a ser escrito na tela"<<endl; Para imprimir uma variável e um texto coloca-se o operador de extração << entre eles: cout<<"texto "<<variavel<<endl;
9 Exemplo #include <iostream> using namespace std; int main() int n; cout<<"escrevendo na tela utilizando C++"; cout<<"digite um número"; cin>>n; cout<<"o número digitado é: "<<n<<endl; return 0; }
10 Tipo string Em C++ existe a classe string. Diversas funções para manipulação de strings estão na biblioteca iostream, entretanto também existem funções na biblioteca string (#include <string>) Variáveis do tipo string podem ser tratadas de maneira semelhante a tipos primitivos, portanto alguns operadores como + e == são válidos. Declaração: string str;
11 strings Como o cin identifica o como terminador, algumas vezes ele não é recomendado para leitura de strings. Usa-se portanto, a função getline. O getline precisa de dois parâmetros, o primeiro é o buffer de entrada e o segundo a variável onde será armazenada a string. getline(cin, str);
12 strings Algumas funções importantes para manipulação de strings são citadas abaixo: Considere duas strings str1 e str2: str1.size() - retorna o tamanho da string str1. str1.empty() - verifica se str1 é uma string vazia. str1.copy(str2) - copia o conteúdo da string str1 para a string str2.
13 strings str1.substr(pos, tam) - retorna a substring que começa na posição pos, de tamanho tam, da string str1. str1.replace(pos, tam, str2) substitui a substring que começa na posição pos, de tamanho tam, da string str1 pela string str2. str1.find(str2) - retorna a posição da primeira ocorrência da str2 na string str1, ou -1 se não encontrar.
14 Praticando com strings Exercício 1: Escreva um código que receba como entrada a sequência de DNA de N pessoas, um fragmento de DNA de outra pessoa e imprima quais dessas pessoas possuem o fragmento de DNA. Exercício 2: Incremente o código anterior para receber mais um fragmento de DNA. As pessoas que possuírem o primeiro fragmento (as que foram impressas no exercício 1) devem tê-lo substituído pelo segundo.
15 Praticando com strings Entrada Saída CGATGACGTC ATCGACTGCG TAGCATCGAC GATCAGATGC CATCTGACTG As pessoas 2, 5 possuem o fragmento CTG em seu DNA. CTG GACTACTGA CTAGTACTA TCGATGACT AGCTACGAT TCA Nenhuma das pessoas possuem o fragmento TCA em seu DNA.
16 Escopo de variáveis Escopo de uma variável nada mais é do que o alcance que essa variável tem. Uma variável pode ter escopo global, podendo ser acessada em qualquer parte do código, ou local, podendo ser acessada apenas em uma parte do código. Um escopo local é delimitado entre a abertura de chaves () e o seu fechamento (}) e pode ser definido em qualquer lugar do código.
17 Comandos de decisão If: int idade; cin>>idade; if(idade<12) cout<<"criança"<<endl; else if(idade<25) cout<<"jovem"<<endl; else if(idade<60) cout<<"adulto"<<endl; else cout<<"idoso"<<endl;
18 Laços de repetição For: int i; for(i = 0; i<10; i++) cout<<i<<" "; While: while(i<10) cout<<i<<" "; i++; }
19 Array Podemos declarar um array em C++ da mesma forma que declaramos na linguagem C. int elem[10]; No entanto, em C++ temos a biblioteca de vectores (#include <vector>), que nos permite utilizar arrays dinâmicos. vector<int> elem; Para adicionar uma nova posição ao vector, utilizamos a função push_back. elem.push_back(3); Para remover a última posição do vector, utilizamos a função pop_back. elem.pop_back();
20 Array O acesso aos elementos do vector é feito da mesma forma que na linguagem C. elem[0] = 3; Há várias funções úteis para manipulação de arrays na biblioteca de vector. elem.size() - retorna o tamanho do vetor elem. elem.clear() - remove todos os elementos do vetor elem. elem.empty() - verifica se o vetor elem está vazio.
21 Praticando Vector Exercício 3: Altere o código escrito no exercício 2 de forma a utilizar um vector para armazenar as informações das pessoas.
22 Aula 2 CompPET 2015
23 Struct A estrutura é um dos tipos de dados que podem ser definidas pelo programador. Ela é uma coleção de variáveis de tipos diferentes que são tratadas como um único item. As variáveis em estruturas podem ser acessadas com o operador. Declaração da estrutura - ex: struct exemplo int a; void atribuivalor(int b) a = b; } };
24 Struct Declaração e chamada da estrutura: int main() struct exemplo e1; e1.atribuivalor(2); printf("%d", e1.a); return 0; }
25 Praticando estruturas Exercício 4: Implemente as seguintes estruturas: pessoa que tem as seguintes variáveis: nome, cpf, endereço. aluno tem como variáveis uma estrutura pessoa e mais um número de matrícula e um vetor de disciplinas. crie funções para atribuir valores às variáveis e exibílos.
26 Programação Orientada a Objetos Um paradigma de programação pode ser definido como sendo uma abordagem de modelagem de um problema. A complexidade da implementação da resolução é altamente impactada pela escolha do paradigma.
27 Programação Orientada a Objetos Existem diversos paradigmas de programação: Procedimental Orientado a objetos Funcional Lógico Orientado a aspectos Algumas linguagens são multiparadigma, o que confere flexibilidade ao programador.
28 Programação Orientada a Objetos A linguagem C++ oferece suporte a dois paradigmas muito usados: - Paradigma procedural: - Estabelece um processo - Facilita a modularização - Se baseia na chamada de funções (procedure call) - Paradigma orientado a objetos: - Evoução da PP - Mais próxima do mundo real - Maior aproveitamento do código
29 Programação Orientada a Objetos O paradigma de programação OO se baseia na decomposição e interação de unidades de software. Essas unidades de software são denominadas objetos. A abstração, ou seja, o molde dessas unidades de software é chamado de classe.
30 UML Existem diversos modelos para representação de diagramas de maneira visual. Um deles é a UML (Unified Modeling Language). Em uma representação simplificada da UML, a classe é representada da seguinte maneira:
31 UML
32 Classes Classe é a definição dos elementos que formam o sistema, indicando suas características e funcionalidades. Uma classe é formada por atributos e métodos: Atributos: Indicam as caracteristicas do elemento. - Modificadores (public, private, protected) Métodos: Indicam as funcionalidades do elemento.
33 Classes A classe Pessoa mostrada no exemplo pode ser representada com UML da seguinte maneira:
34 Classes Em C++ uma classe pode ser definida de maneira semelhante a struct. Observe: class Pessoa Atributos int idade; string nome; void atribuivalores(int i, string s) idade = i; nome = s; } }; Métodos
35 Atributos Atributos são as variáveis de uma classe A declaração de atributos é feita de maneira similar a declaração de variáveis comum.
36 Atributos class Pessoa int idade; string nome; Atributos void atribuivalores(int i, string s) idade = i; nome = s; } };
37 Atributos Exercício: implemente uma classe carro com os seguintes atributos: - placa ano marca preço
38 Métodos Métodos são todas as funções definidas no escopo de uma classe. O método deve implementar uma operação ligada a sua classe. Ex: alteração de dados, operações envolvendo os atributos da classe, etc.
39 Métodos class Pessoa int idade; string nome; void atribuivalores(int i, string s) idade = i; nome = s; } }; Método
40 Exercício Crie o código de uma classe Carro. Ela deve representar a classe do diagrama a seguir:
41 Objetos Objeto: Exemplar (instância) de um elemento previamente definido por uma classe. Cada objeto armazena as informações específicas de um exemplar instanciado da classe.
42 Objetos Criação de um objeto no código: int main() Pessoa katty; katty.atribuivalores(30, Katheryn Elizabeth Hudson ); }
43 Objetos Exercício: implemente uma função main e nela crie um objeto carro com os seguintes valores: - placa: WOW-6031 ano: 2004 marca: Blizz Box preco: 29,90 Após criar e inicializar o objeto, imprima os valores na tela.
44 Aula 3 CompPET 2015
45 Objetos Alguns atributos pertencem a todos os objetos de uma classe. Eles são chamados atributos estáticos: Class Biblioteca static int numerodelivros; };
46 Objetos Em uma classe é possível deixar claro que o atributo a que se está referindo é aquele do objeto e não o passado como parâmetro. Para isso usamos o this: Class Biblioteca string codigobiblioteca; void setcodigobiblioteca(string codigobiblioteca) this->codigobiblioteca = codigobiblioteca; } };
47 Métodos Existem duas maneiras de implementar um método: Dentro da classe (chamado método inline); Fora da classe; Lembrando que pelo menos as declarações dos métodos devem estar dentro da classe.
48 Métodos class Carro void iniciadados(string p, int a, string m, float pr); }; Declaração do método void Carro::iniciaDados(string p, int a, string m, float pr) placa = p; ano = a; Implementação marca = m; do método preco = pr; }
49 Métodos class Carro void iniciadados(string p, int a, string m, float pr) placa = p; Declaração e ano = a; implementação marca = m; do método preco = pr; } };
50 Sobrecarga de métodos A linguagem C++ permite a sobrecarga de métodos. Fornecer duas ou mais definições diferentes para o mesmo nome de função. Quando se sobrecarrega um nome de função, as definições da função devem ter números diferentes de parâmetros ou alguns parâmetros de tipos diferentes. A linguagem resolve a sobrecarga de métodos de duas maneiras diferentes: Identidade perfeita; Identidade com conversão automática de tipo.
51 Sobrecarga de métodos class Sobrecarga public: double f(int n, double m) return n + m; } double f(double n, int m) return n * m; } }; int main() Sobrecarga c; std::cout << c.f(2,3); }
52 Exercício Crie uma classe funcionário que possua necessariamente os atributos remuneração diária e dias trabalhados. Crie nessa classe um método que calcule o salário do funcionário de acordo com os dias trabalhados. crie uma sobrecarga desse método de modo que possa somar uma bonificação ao salário calculado.
53 Construtores O construtor é um método que tem o mesmo nome da classe, é executado automaticamente toda vez que um objeto é criado e não pode ter retorno. O construtor de uma classe é um método utilizado para inicializar os atributos do objeto instanciado. Um método construtor pode ou não possuir argumentos.
54 Construtores Assim como os métodos, existem duas maneiras de implementar construtores: Construtores inline: Construtores implementados dentro da classe; Construtores: Construtores implementados fora da classe. Existe ainda a possibilidade de inicializar os atributos da classe na definição do construtor: class Carro Carro(): ano(2015) } };
55 Construtores class Pessoa int idade; string nome; void atribuivalores(int i, string s) idade = i; nome = s; } Pessoa(int i, string s) atribuivalores(i,s); } }; Construtor inline
56 Construtores class Pessoa int idade; string nome; Pessoa(int i, string s); void atribuivalores(int i, string s); }; Pessoa :: Pessoa(int i, string s) atribuivalores(i,s); } Construtor fora da classe
57 Construtores class Pessoa int idade; string nome; Pessoa(int i, string s); void atribuivalores(int i, string s); }; Pessoa :: Pessoa(): idade(30),nome( Katheryn Elizabeth Hudson ) } Construtor Inicializador
58 Construtores class Pessoa int idade; string nome; Pessoa(): idade(30), nome( Katheryn Elizabeth Hudson ) } void atribuivalores(int i, string s) idade = i; Construtor inicializador nome = s; inline } };
59 Construtores Utilizando construtores no código: int main() Pessoa pablo(24, Pablo Henrique ); }
60 Destrutores Destrutores são métodos utilizados para destruir (liberar memória) objetos instanciados. Destrutores são executados automaticamente ao final do bloco de execução em que o objeto se encontra, porém caso seja preciso pode-se destruir um objeto manualmente utilizando o operador delete.
61 Destrutores class Pessoa int idade; string nome; Pessoa(): idade(30), nome( Katheryn Elizabeth Hudson ) } void atribuivalores(int i, string s) idade = i; nome = s; } ~Pessoa() Destrutor } };
62 Destrutores Utilizando delete no código: int main() Pessoa katty; katty.atribuivalores(30, Katheryn Elizabeth Hudson ); delete katty; } Chama o destrutor
63 Sobrecarga de Construtores É possivel sobrecarregar métodos construtores, desde que cada um tenha argumentos diferentes. class Pessoa int idade; string nome; Pessoa(): idade(30),nome( Katheryn Elizabeth Hudson ) Pessoa(int i, string s); void atribuivalores(int i, string s); }; Sobrecarga Pessoa :: Pessoa(int i, string s) atribuivalores(i,s); }
64 Exercício Adicione um atributo departamento à classe funcionário. Crie um construtor que preencha os atributos de um objeto da classe funcionário. Crie uma sobrecarga do construtor para criar objetos de funcionários que ainda não foram alocados a nenhum departamento.
65 Aula 4 CompPET 2015
66 Encapsulamento Um dos fundamentos da orientação a objetos é restringir o acesso de uma classe a códigos que não tenham a ver com sua lógica. Esconder detalhes da implementação evita que o código de classes usuárias se torne dependente das classes usadas.
67 Modificadores de acesso Podemos evitar que uma classe faça alteração direta aos atributos de outras. Para isso, utilizamos os modificadores de acesso. São eles: public: qualquer código externo à própria classe possui acesso aos membros da classe com este modificador. private: nenhum código externo à própria classe possui acesso aos membros da classe com este modificador. protected: apenas as classes que herdam a própria classe possuem acesso aos membros da classe com este modificador.
68 Getters e Setters Para permitir o acesso aos atributos privados e/ou protegidos de uma classe, cria-se os métodos getters e setters. Getters são métodos que apenas retornam o valor de um atributo. Setters são métodos para atribuir um valor a um atributo.
69 Getters e Setters class Pessoa private: int idade; string nome; public: int getidade() return idade; } Método de acesso público
70 Getters e Setters string getnome() return nome; } void setidade(int idade) this->idade = idade; } void setnome(string nome) this->nome = nome; } }
71 Herança É o processo que permite criar uma classe que herde todas as características de outra já existente. É uma relação do tipo é-um. Uma classe que herda outra é chamada de classe derivada (classe filha) e a classe existente de classe base (classe pai). A definição de uma função-membro herdada pode ser alterada na definição da classe derivada.
72 Tipos de herança Classes filhas não possuem acesso à membros privados. Os modificadores mencionados se aplicam apenas aos membros públicos e protegidos. Herança pública: Membros da classe filha terão seus modificadores iguais aos da classe pai, exceto os membros privados. class Filha : public Pai
73 Tipos de herança Herança privada: Membros públicos e protegidos da classe pai serão membros privados na classe filha. class Filha : private Pai Herança protegida: Membros públicos e protegidos da classe pai serão membros protegidos na classe filha. class Filha : protected Pai
74 Exemplo Herança class Veiculo protected: int qtdpassageiros; string modelo; public: void setvalores(int qtdp, string model) qtdpassageiros = qtdp; modelo = model; } };
75 Exemplo Herança class Aviao : public Veiculo int nroasas = 2; int qtdturbinas; public: Aviao(int qtdt, int qtdp, string model) qtdturbinas = qtdt; qtdpassageiros = qtdp; modelo = model; } };
76 Exemplo Herança class Caminhao : protected Veiculo string carga; double massacarga, precocarga,precototal; public: setpreco() precototal = precocarga*massacarga; } };
77 Herança Quando manipula-se herança, ao implementarmos um construtor na classe derivada, devemos utilizar um construtor da classe-base, caso nenhum construtor seja especificado o construtor padrão será utilizado. class Veiculo Veiculo() } Veiculo(int qtdpassageiros) this->qtdpassageiros = qtdpassageiros; } };
78 Exemplo Herança class Caminhao : protected Veiculo Caminhao(double mc, double pc) massacarga = mc; precocarga = pc; } };
79 Exemplo Herança class Caminhao : protected Veiculo Caminhao(double mc, double pc, int qtdpassageiros): Veiculo(qtdPassageiros) Chamada do massacarga = mc; construtor da precocarga = pc; classe-base } };
80 Exercício Exercício 5 - Implemente as seguintes classes: pessoa que tem os seguintes atributos privados: nome, cpf, endereço. aluno que tem os atributos de pessoa e possui um número de matrícula e um conjunto de disciplinas, todos privados. crie métodos para atribuir valores aos atributos dessas classes e métodos para os imprimir na tela (getters e setters). Implemente os respectivos construtores inicializando os atributos com um valor padrão.
81 Herança Muitas vezes ao utilizar a classe-base, nem sempre os métodos desta classe atendem completamente a necessidade da classe derivada. Entretanto, alterar a classe pai não é uma boa ideia, porque provavelmente não é apenas uma classe filha que a utiliza. Devemos então redefinir o método, ou seja, criar um método na classe derivada com o mesmo nome da classebase e reescrevê-lo ou alterá-lo.
82 Sobrescrita de métodos Consiste em criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito. O compilador sempre tentará utilizar o método mais próximo ao objeto em execução, ou seja, se existir o método na classe-base e na classe derivada, o compilador executará o da classe derivada. Não confundir com sobrecarga de métodos.
83 Sobrescrita de métodos Quando um método for redefinido na classe derivada ele pode chamar ou não o método da classe-base. Caso seja necessário chamá-lo, o fazemos por meio do operador de resolução de escopo (::).
84 Exercício Exercício 6 - Implemente as seguintes classes Funcionario com um método que calcule o salário do funcionário de acordo com os dias trabalhados. Gerente que herde a classe Funcionario e sobrescreva o método de cálculo do salário, atribuindo ao gerente 60% a mais.
85 Aula 5 CompPET 2015
86 Polimorfismo Polimorfismo (poli: muitas, morfismo : formas). Permite chamar um método de um objeto sem saber a classe exata desse objeto. Em C++, isso significa que uma única instrução pode chamar diferentes métodos.
87 Polimorfismo
88 Métodos virtuais É um método cujo comportamento pode ser sobrescrito em uma classe herdeira por uma função com a mesma assinatura. class Jogador virtual void imprimetipojogador(...) cout << Eu sou um jogador indeciso. <<endl; } };
89 Métodos virtuais class JogadorVolei: public Jogador void imprimetipojogador(...) cout << Eu jogo volei. <<endl; } };
90 Métodos virtuais class JogadorDota: public Jogador void imprimetipojogador(...) cout << Eu jogo dota. <<endl; } };
91 Métodos virtuais A diferença de sobrescrição de um método comum e de um método virtual, é que sempre será chamada a implementação da classe derivada e não da classe base em tempo de execução.
92 Métodos virtuais int main () vector <Jogador*> jogadores; JogadorVolei jv; JogadorDota jd; jogadores.push_back(&jv); jogadores.push_back(&d); for (int i = 0; i < jogadores.size(); i++) jogadores[i]->imprimetipojogador(); } }
93 Métodos virtuais Resultado: Eu jogo volei. Eu jogo dota.
94 Métodos virtuais E se o método imprimetipojogador não fosse declarado como virtual?
95 Métodos virtuais Resultado: Eu sou um jogador indeciso. Eu sou um jogador indeciso.
96 Métodos virtuais puros Um método virtual é tido um método virtual puro quando a classe não especifica sua implementação. Ex.: class Jogador public: virtual void imprimetipojogador() = 0; };
97 Polimorfismo - Exercício Problema: Um fórum virtual oferece um serviço de chats para os jogadores. Existem diversos tipos de jogadores, mas todos possuem em comum: nome, idade e a quantidade em horas semanais que passa jogando. Os jogadores podem ser jogadores de futebol ou de Temple Run. Os jogadores de Temple Run possuir as informações: dispositivo movel que usam e maior pontuação. Cada jogador deve ser apresentado mostrando a seguinte tela quando invocado o método dadosjogador:
98 Polimorfismo - Exercício Exemplo jogador de Futebol de botão: Nome do jogador: Katy Perry Idade: 81 anos. Horas jogando por semana: 4 horas. Nome do jogo: Futebol de Botão. Exemplo jogador de Temple Run: Nome do jogador: Leeroy. Idade: 30 anos. Horas jogando por semana: 20 horas. Maior pontuação: Nome do jogo: Temple Run. Dispositivo: Android.
99 Classes Abstratas Uma classe abstrata é uma classe que não pode ser instanciada, mas que seus descendentes podem ser.
100 Classes Abstratas Em C++, uma classe abstrata é criada pela declaração de pelo menos um método abstrato (pure virtual). virtual void metodoabstrato(...) = 0; Toda operação abstrata utiliza acoplamento dinâmico, ou seja, sua execução é decidida em tempo de execução. Classes abstratas que possuem pelo menos um método virtual puro não pode ser utilizadas para instanciar objetos, e são utilizadas apenas como Interface.
101 Herança Múltipla Na linguagem C++ a herança múltipla é aceita, ou seja, uma classe pode herdar as características de mais de uma classe-base. É preciso bastante cuidado ao implementar códigos com herança múltipla para evitar a ambiguidade. Se uma classe filha herdar de classes pai que tem métodos e/ou atributos com o mesmo nome, erros de incompatibilidade são gerados.
102 Herança Múltipla A sintaxe da herança múltipla é similar a herança simples, observe: class X }; class Y }; class Z: public X, public Y };
103 Herança Múltipla Se por acaso houver ambiguidade devido a herança múltipla, pode-se corrigir utilizando o operador de resolução de escopo: class X void imprime(); }; class Y void imprime(); }; class Z: public X, public Y };
104 Herança Múltipla int main() Z obj; Z.print(); //Gera erro de ambiguidade Z.X::imprime(); Z.Y::imprime(); }
105 Exemplo Herança Múltipla
106 Aula 6 CompPET 2015
107 Exceções Uma exceção é um erro que acontece durante a execução do programa. Uma possibilidade para verificar erros é com if e else, porém não é muito viável, existem maneiras melhores.
108 Exceções int main() int a,b,divisao; cin>> a; cin>>b; divisão = a/b; cout<< resultado <<divisao<<endl; } O código irá parar de funcionar caso seja atribuído 0 à variável b.
109 Exceções int main() int a,b,divisao; cin>> a; cin>>b; if(b==0) cout<< divisão por zero <<endl; else divisao = a/b; cout<< resultado <<divisao<<endl; } }
110 Exceções Uma forma melhor de evitar erros inesperados é utilizar o tratamento de exceções. Vantagens de utilizar exceção: Separação do código que identifica o erro e o código que trata o erro; Tratamento de erros localizada; Aumento da confiabilidade da aplicação.
111 Exceções A captura e tratamento de exceções é feita com os comandos try, catch, throw : try: delimita o bloco de código que será protegido; catch: delimita o final de um bloco protegido e o início das instruções de tratamento de exceções; throw: gera novas exceções ou propaga uma já existente
112 Exceções try //Código passivo de gerar exceção throw (exceção) } catch(int e) // código que será executado caso // haja lançamento de exceção }
113 Exceções int main() int a,b,divisao; try cin>> a; cin>>b; if(b==0) throw b; divisao = a/b; cout<< resultado <<divisao<<endl; } catch(int e) cout<< valor <<e<< inválido para b ; }
114 Exceções - Exercício Suponha que a empresa que mantém o fórum de jogadores do exercício anterior tenha recebido muitas queixas contra jogadores de mais de 89 anos. Eles estão incomodando os jogadores de Temple Run, dizendo que eles só ficam olhando para o celular. Como os jogadores de Temple Run são maioria, a diretoria pediu para que você impeça os velhinhos de entrar no fórum. Dessa forma, crie uma exceção que impeça que jogadores maiores de 80 anos se cadastrem no fórum.
115 Classes de Exceções O comando throw pode lançar qualquer tipo de exceção. Pode-se pegar uma exceção qualquer utilizando... como parâmetro do catch. Dessa forma é comum definir uma classe de exceções cujo objeto contém a informação que se deseja capturar no bloco catch.
116 Classes de Exceções class ByZero private: string a = divisão por zero ; public: void imprimeerro() cout<< Ocorreu um erro: <<a<<endl; } }; Observe o comando throw que a exceção da classe: throw ByZero();
117 Exceções int main() int a,b,divisao; try cin>>a>>b; if(b==0) throw ByZero(); divisao = a/b; cout<<"resultado = "<<divisao<<endl; } catch(byzero e) e.imprimeerro(); } return 0; }
118 Classes de Exceções Assim como podemos definir nossa próprias classes de exceção, existem as classes de exceções padrões: exception: a classe base para todas as exceções lançadas. logic_error: Informa erros lógicos (por exemplo: erros de tamanho, argumentos inválidos). runtime_error: Informa erros de runtime que só poderiam ter sido detectados durante a execução (por exemplo: overflow).
119 Classes de Exceções - Exercício Crie uma classe de exceção para o exercício anterior.
120 Templates Templates são ferramentas que permitem definir funções e classes que possuem como parâmetros variáveis de tipos não especificados. Desta forma, podemos fazer: Funções com argumentos mais genéricos. Classes muito mais generalizadas.
121 Templates - Funções Função para soma de inteiros: int soma(int var1,int var2) int res = var1 + var2; return res; } Função para soma de strings: string soma(string var1, string var2) string res = var1 + var2 return res; }
122 Templates - Funções Função para soma de quaisquer tipos: template <class tipo> tipo soma(tipo var1,tipo var2) tipo res = var1 + var2; return res; }
123 Templates - Funções Outro exemplo: template <class X> void trocavalores(x &var1,x &var2) X temp; temp = var1; var1 = var2; var2 = temp; }
124 Templates - Classes Classe genérica: template <class tipo> class calculadora tipo multiplica(tipo x, tipo y) return x*y; } tipo soma(tipo x, tipo y) return x+y; } };
125 Templates - Classes Instanciação da classe: int main() calculadora<int> calc; int n1 = 3, n2 = 5; cout << calc.multiplica(n1, n2) << endl; cout << calc.soma(n1, n2) << endl;; return 0; }
126 Exercício de Templates Continue o exemplo do jogador. Implemente uma nova classe de usuário que será o moderador do fórum. Usando a ideia de templates, faça um método que receba qualquer tipo de usuário do fórum e imprima uma saudação com seu nome. Ex: Olá fulano de tal!
127 Funções e bibliotecas interessantes istream::ignore(qtd, delim): retira caracteres de entrada, até que qtd caracteres sejam retirados ou um caracter seja igual a delim cin.ignore(1,'\n'); Stack Queue Algorithm
Introdução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
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
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
ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente
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
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
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
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
LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes [email protected]
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
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
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Modelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
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
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
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
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
NOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Profº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
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
PROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
PCS 3111 - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA
ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO PROGRAMA
Curso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
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
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
3 Classes e instanciação de objectos (em Java)
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
INF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
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.
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
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
Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;
um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Herança. Alberto Costa Neto DComp - UFS
Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
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
1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
PHP INTRODUÇÃO CLASSES E OBJETOS
INTRODUÇÃO PHP AULA 8 ORIENTAÇÃO A OBJETOS Professor: Leonardo Pereira E-mail: [email protected] Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si A orientação a objetos ou OO é o paradigma
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
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
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Programação Orientada a Objeto
Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
PROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
Programação Orientada a Objetos em java. Polimorfismo
Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa
DEFINIÇÃO DE MÉTODOS
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos
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.
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
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
Capítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
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:
Introduçã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
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
ESTRUTURA CONDICIONAL
AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO
2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Orientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Projeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Prof. Esp. Adriano Carvalho
Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais
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
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
FBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
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
ALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Linguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação
Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
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:
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
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
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
Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Implementação de Classe e Auto-Relacionamento em Java
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida
Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem
Lógica de Programação
Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...
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 [email protected] 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
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
MC102 Algoritmos e programação de computadores Aula 3: Variáveis
MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,
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
CURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 13 Encapsulamento Objetivos do Capítulo Indicar a importância do mecanismo de encapsulamento no contexto do desenvolvimento de software utilizando a programação orientada a objetos. Apresentar
PROGRAMANDO EM C# ORIENTADO A OBJETOS
PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios
9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
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.
17 - Funções e Procedimentos em C Programação Modular
17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes
Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
Programação Orientada a Objetos em Java. Herança
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados
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
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
