Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
|
|
|
- Ana Luiza de Almada Fragoso
- 8 Há anos
- Visualizações:
Transcrição
1 Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
2 Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias classes Cada classe criada representa um novo tipo de dado que pode ser utilizado na criação de variáveis (objetos) e nos argumentos e retornos dos métodos São definidas com o auxílio da instrução class Os membros de uma classe são seus atributos e seus métodos Atributos são variáveis que armazenam os dados (estado) do objeto Métodos representam as ações que o objeto pode realizar 2
3 Exemplo - Atributos Supondo que precisamos de objetos que representem frações matemáticas Vamos descobrir como deve ser a classe Fracao a partir do código que manipula suas instâncias (objetos) É fácil deduzir que um objeto fração deve armazenar seus valores de numerador e denominador O código da classe não deve permitir que o denominador da fração assuma zero como valor 3
4 Fracao f = new Fracao(); Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador; 4
5 Fracao f = new Fracao(); Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador; Atributos de tipo numérico são inicializados com valor padrão igual a zero. Atributos do tipo booleano são inicializados com false. Atributos do tipo objeto são inicializados com null. 5
6 Fracao f = new Fracao(); Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador; Desta forma, a execução do programa imprime a fração 0/0 6
7 Fracao f = new Fracao(); Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador = 1; Agora o atributo denominador é inicializado com valor igual a 1 e portanto o programa imprime 0/1 7
8 Fracao f = new Fracao(); f.numerador = 2; f.denominador = 5; Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador = 1; 8
9 Fracao f = new Fracao(); f.numerador = 2; f.denominador = 5; Console.Write(f.numerador + "/" + f.denominador); public int numerador; public int denominador = 1; Aqui o programa altera os valores dos atributos. Logo, a fração impressa é 2/5 9
10 Ops, temos um problema!! Note que a implementação atual permite que o atributo denominador receba o valor zero após a criação do objeto class Teste{ Fracao f = new Fracao(); f.numerador = 2; f.denominador = 0; Console.Write(f.numerador + "/" + f.denominador); 10
11 Visibilidade de membros Cada membro possui uma visibilidade que indica por quem o membro pode ser acessado Visibilidade pública: qualquer trecho de código tem acesso ao membro Visibilidade privada: somente o código da própria classe tem acesso ao membro 11
12 Visibilidade de membros Atributos geralmente são declarados como privados e métodos como públicos O objetivo da visibilidade privada é esconder os detalhes internos de implementação da classe Assim o usuário somente se preocupa com a interface da classe (princípio do encapsulamento) O uso da visibilidade privada em atributos força a utilização de métodos, os quais permitem a realização de validações, garantindo a coerência do estado interno do objeto Para impedir que uma fração tenha denominador igual a zero devemos impedir o acesso direto ao atributo tornando-o privado A leitura e alteração do atributo serão realizadas por métodos 12
13 Fracao f = new Fracao(); f.numerador = 2; f.denominador = 5; Console.Write(f.numerador + "/" + f.denominador); public int numerador; private int denominador = 1; 13
14 Fracao f = new Fracao(); f.numerador = 2; f.denominador = 5; Console.Write(f.numerador + "/" + f.denominador); public int numerador; private int denominador = 1; Como o atributo denominador agora é privado, a leitura ou modificação do mesmo fora da classe Fracao gera um erro de compilação. 14
15 Fracao f = new Fracao(); f.numerador = 2; f.setdenominador(5); Console.Write(f.numerador + "/" + f.getdenominador()); public int numerador; private int denominador = 1; public int GetDenominador(){ return denominador; public void SetDenominador(int d){ if(d!= 0){ denominador = d; 15
16 Fracao f = new Fracao(); f.numerador = 2; f.setdenominador(5); Console.Write(f.numerador + "/" + f.getdenominador()); public int numerador; private int denominador = 1; public int GetDenominador(){ return denominador; Método que permite a leitura (acesso) ao atributo denominador. public void SetDenominador(int d){ if(d!= 0){ denominador = d; Método que permite a alteração (escrita) do atributo denominador. Note que agora é possível impedir a atribuição indevida. 16
17 Método ToString Para facilitar a impressão da fração, vamos acrescentar um método que retorna uma string representando a fração 17
18 Fracao f = new Fracao(); f.numerador = 2; f.setdenominador(5); Console.Write( f.tostring() ); public int numerador; private int denominador = 1; public string ToString(){ return numerador + / + denominador; public int GetDenominador(){ return denominador; public void SetDenominador(int d){ if(d!= 0){ denominador = d; 18
19 Construtores Um construtor é uma função especial utilizada no momento em que um objeto é criado Sempre é utilizado junto com a instrução new Construtores são utilizados para definir o estado inicial de um objeto, seja através de valores passados como parâmetros ou através de valores pré-determinados Em um construtor não se deve indicar o tipo de retorno e seu identificador é igual ao nome da sua classe Uma classe pode possuir vários construtores Vamos definir um construtor na classe Fracao que permita a definição do numerador e do denominador no momento da criação do objeto 19
20 Fracao f = new Fracao(2, 5); Console.Write( f.tostring() ); public int numerador; private int denominador = 1; public Fracao(int n, int d){ numerador = n; if(d!= 0){ denominador = d; public void SetDenominador(int d){ if(d!= 0){ denominador = d; 20
21 Fracao f = new Fracao(2, 5); Console.Write( f.tostring() ); public int numerador; private int denominador = 1; public Fracao(int n, int d){ numerador = n; if(d!= 0){ denominador = d; public void SetDenominador(int d){ if(d!= 0){ denominador = d; Lógica duplicada 21
22 Fracao f = new Fracao(2, 5); Console.Write( f.tostring() ); public int numerador; private int denominador = 1; public Fracao(int n, int d){ numerador = n; SetDenominador(d); public void SetDenominador(int d){ if(d!= 0){ denominador = d; 22
23 Construtor padrão Um construtor sem parâmetros é chamado de construtor padrão Nas classes em que não há um construtor definido, o compilador cria automaticamente um construtor padrão sem implementação 23
24 Fracao f1 = new Fracao(); Console.WriteLine( f1.tostring() ); Fracao f2 = new Fracao(2, 5); Console.WriteLine( f2.tostring() ); public int numerador; private int denominador = 1; public Fracao(){ public Fracao(int n, int d){ numerador = n; SetDenominador(d); 24
25 Fracao f1 = new Fracao(); Console.WriteLine( f1.tostring() ); Fracao f2 = new Fracao(2, 5); Console.WriteLine( f2.tostring() ); public int numerador; private int denominador = 1; public Fracao(){ public Fracao(int n, int d){ numerador = n; SetDenominador(d); Construtor padrão. Inicia o objeto com numerador igual a zero e denominador igual a 1. 25
26 Fracao f1 = new Fracao(); Console.WriteLine( f1.tostring() ); Fracao f2 = new Fracao(2, 5); Console.WriteLine( f2.tostring() ); public int numerador; private int denominador = 1; public Fracao(){ public Fracao(int n, int d){ numerador = n; SetDenominador(d); Objetos podem ser criados com qualquer um dos dois construtores. 26
27 Exemplo Método Somar Vamos definir um método para somar duas frações Este método define como parâmetro uma outra instância da classe Fracao para representar a segunda fração envolvida na soma Este método também retorna uma nova instância de Fracao como resultado da operação As frações envolvidas na operação devem permanecer inalteradas Lógica da operação: a c a * d + c * b = b d b * d 27
28 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); 28
29 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Note que há dois objetos (f1 e f2) envolvidos na chamada do método. O objeto utilizado para chamar o método, f1 neste exemplo, é chamado de objeto implícito. O objeto f2 é utilizado como parâmetro do método. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); 29
30 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Note que há dois objetos (f1 e f2) envolvidos na chamada do método. O objeto utilizado para chamar o método, f1 neste exemplo, é chamado de objeto implícito. O objeto f2 é utilizado como parâmetro do método. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Na implementação do método, o objeto utilizado como parâmetro é identificado como f. Logo, o acesso a seus métodos e atributos devem ser precedidos pelo identificador f e o operador ponto. 30
31 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Note que há dois objetos (f1 e f2) envolvidos na chamada do método. O objeto utilizado para chamar o método, f1 neste exemplo, é chamado de objeto implícito. O objeto f2 é utilizado como parâmetro do método. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); O acesso aos membros do objeto implícito é realizado de forma direta. 31
32 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Vamos simular a execução do programa acompanhando cada linha do código em conjunto com o estado dos objetos. O estado de um objeto é determinado pelos valores de seus atributos. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória 32
33 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Cria uma instância de Fracao e uma referência (f1) que aponta para a instância public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória Fracao f1 numerador = 2 denominador = 5 33
34 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Cria uma segunda instância de Fracao e uma referência (f2) que aponta para esta segunda instância public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 Fracao f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 34
35 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Executa o método Somar através de f1. O fluxo de execução é desviado para dentro do método. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 Fracao f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 35
36 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Utiliza o denominador do objeto implícito (f1) e o numerador do objeto utilizado como parâmetro (f2) para calcular o valor da variável local d. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 d = 15 Fracao f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 36
37 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Calcula o valor da variável local n. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 d = 15 Fracao n = 26 f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 37
38 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Cria uma nova instância de Fracao utilizando o valor de n como numerador e o valor de d como denominador. Finaliza o método retornando o objeto criado. O fluxo de execução retorna para o ponto em que o método Somar foi executado public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 d = 15 Fracao n = 26 f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 Fracao numerador = 26 denominador = 15 38
39 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); O objeto Fracao retornado pelo método Somar é atribuído à referência f3. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 f3 Fracao f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 Fracao numerador = 26 denominador = 15 39
40 Fracao f1 = new Fracao(2, 5); Fracao f2 = new Fracao(4, 3); Fracao f3 = f1.somar(f2); Console.WriteLine( f3.tostring() ); Imprime o resultado do método ToString. Note que aqui o objeto implícito é f3, logo 26/15 é a string impressa no console. public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); Memória f2 f3 Fracao f1 numerador = 2 denominador = 5 Fracao numerador = 4 denominador = 3 Fracao numerador = 26 denominador = 15 40
41 Outro método Somar Vamos definir um segundo método para somar frações Este método define dois inteiros como parâmetros representando o numerador e o denominador da outra fração envolvida na soma O método retorna uma nova instância de Fracao como resultado da operação Quando uma classe possui mais de um método com o mesmo nome, mas com listas de parâmetros distintas, chamamos isto de sobrecarga de métodos 41
42 Fracao f1 = new Fracao(2, 5); Fracao f2 = f1.somar(4, 3); Console.WriteLine( f2.tostring() ); public Fracao Somar(int n, int d){ Fracao f = new Fracao(n, d); return Somar( f ); public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); 42
43 Fracao f1 = new Fracao(2, 5); Fracao f2 = f1.somar(4, 3); Console.WriteLine( f2.tostring() ); Utiliza o outro método Somar para evitar a duplicação da lógica. public Fracao Somar(int n, int d){ Fracao f = new Fracao(n, d); return Somar( f ); public Fracao Somar(Fracao f){ int d = denominador * f.denominador; int n = numerador * f.denominador + f.numerador * denominador; return new Fracao(n, d); 43
44 Exercício 1 Implemente a classe Retangulo com os seguintes membros: Atributo largura, privado e do tipo double. Representa a largura do retângulo. Atributo altura, privado e do tipo double. Representa a altura do retângulo. Método público GetArea(). Deve retornar o valor da área do retângulo. Método público GetPerimetro(). Deve retornar o valor do perímetro do retângulo. Método público SetDimensoes(double l, double h). Deve alterar as dimensões do retângulo utilizando os valores dos parâmetros l e h, respectivamente, como novas largura e altura. Valores negativos devem ser ignorados. Método público IsQuadrado(). Deve retornar true caso o retângulo seja um quadrado e false em caso contrário. Escreva um programa (método Main) para testar a implementação da classe. 44
45 Exercício 2 Dado o código abaixo, faça um desenho ilustrando o estado de cada objeto, juntamente com as referências, quando o programa atinge o seu término. O tipo Retangulo presente no código é a mesma classe da questão anterior. Retangulo r1 = new Retangulo(); r1.setdimensoes(3.5, 2); double area = r1.getarea(); Retangulo r2 = new Retangulo(); r2.setdimensoes(area, 1.5); Retangulo r3 = r1; r3.setdimensoes(3, 3); 45
46 Exercício 3 Na classe Fracao, implemente o método ToDouble para retornar o valor da fração como um número real (double) Na classe Fracao, implemente os seguintes métodos públicos, todos retornando uma nova instância de Fracao como resultado da operação: Subtrair(int n, int d) Subtrair(Fracao f) Multiplicar(int n, int d) Multiplicar(Fracao f) Dividir(int n, int d) Dividir(Fracao f) Na classe Fracao, implemente um método privado que realize a simplificação da fração. Este método deve ser utilizado sempre que a fração sofrer alguma alteração. Escreva um programa (método Main) que permita ao usuário realizar operações entre frações 46
47 Exercício 4 Implementar a classe Lampada com os seguintes membros: Atributos privados do tipo boolean. Um para indicar se a lâmpada está ligada e outro para indicar se a lâmpada está queimada. Atributos privados do tipo inteiro. Um para contar quantas vezes a lâmpada foi ligada e outro que indica a quantidade máxima de vezes que a lâmpada pode ser ligada antes de queimar. Métodos públicos para ligar e desligar a lâmpada, para verificar se a lâmpada está ligada e para verificar se a lâmpada está queimada. Construtor com um parâmetro inteiro para indicar a quantidade máxima de vezes que a lâmpada pode ser ligada. Adicione a esta quantidade um valor aleatório entre 0 e 6. O número aleatório pode ser gerado criando-se um objeto da classe Random e utilizando o método Next(0, 7). Construa um programa que crie duas lâmpadas, conte quantas vezes cada lâmpada pode ser ligada antes de queimar e informe a média de duração das lâmpadas. Desafio: modifique o programa acima para trabalhar com 20 lâmpadas. 47
COMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Linguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Campus João Câmara Avenida Antônio Severiano da Câmara / BR 406, Km 101, s/n Zona Rural. Bairro Amarelão João Câmara/RN - CEP:
Estrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira [email protected] www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Universidade Estadual de Santa Cruz
Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas DCET Bacharelado em Ciência da Computação Professor: Esbel Tomás Valero Orellana Linguagem de Programação III Introdução
Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 03 Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão
Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Relacionamento entre Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Antes de Iniciar... Vamos aprender um pouco de modelagem
Interfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
Programação Orientada a Objetos
Programação Orientada a Objetos Acessando Objetos Msc. Paulo de Tarso F. Júnior 1 Classe Classe: Radio - ligada : boolean - potencia : double + ligar() : void + desligar() : void + estaligada() : boolean
Orientação a Objetos e Java
Orientação a Objetos e Java Daves Martins [email protected] Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
Laboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Conceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Visibilidade e Encapsulamento
Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo
Java Variáveis e Controle Fluxo
Java Variáveis e Controle Fluxo 1 Variáveis primitivas p Todo bloco em java é delimitado por chaves ({ } ); p Dentro de um bloco, podemos declarar variáveis e usa las; p Em Java, toda variável tem um tipo
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:
Algoritmos Algoritmos Leandro Tonietto Unisinos [email protected] http://www.inf.unisinos.br/~ltonietto/inf/pg1/algoritmosi_java.pdf Mar-2008 Possuem sintaxe flexível e são mais úteis para descrição
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
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
Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 05 Classes, Atributos, Métodos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Classe; Atributos; Métodos. Classes É onde conceituamos
Programação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Conceitos: Classe, Variável de Instância ou Atributos, Métodos, Objeto, Variáveis Estáticas ou de Classe, Construtores, Construtores Sobrecarregados, Herança, Polimorfismo,
Algoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
POO fundamentos Parte II. Professor Vicente Paulo de Camargo
POO fundamentos Parte II Professor Vicente Paulo de Camargo COMPORTAMENTOS Um comportamento expressa uma ação que um objeto ou instância de uma classe pode executar Na POO um comportamento é expresso através
Universidade Estadual de Santa Cruz
Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas DCET Bacharelado em Ciência da Computação Professor: Esbel Tomás Valero Orellana Linguagem de Programação III Construtores
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Programação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Linguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
AULA 13 MÉTODOS. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes
AULA 13 MÉTODOS Disciplina: Programação Orientada a Objetos Professora: Alba Lopes [email protected] MÉTODOS Parâmetros Em Java, os métodos podem possuir ou não parâmetros Na aula anterior, construímos
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 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.
DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS
DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 1. Crie um modelo (classe)
Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Programação Orientada a Objetos Introdução a POO
Introdução a POO Implementação Técnico em Informática, M.Sc. Objetos 12/04/2012 20:17 Redes de Computadores 2 Domínio e Aplicação Domínio Composto pelas entidades, informações e processos relacionados
Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.
6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.
5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser
Notas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Programação Orientada a Objetos
Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José [email protected] 31 de julho de
Interfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Introdução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa [email protected] Universidade Federal Rural do Semiárido Bacharelado
Classes e Objetos POO
Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,
Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
INSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O REVIEW CLASSES E INSTÂNCIAS. REVIEW - O OPERADOR THIS This faz referencia a métodos e atributos da própria classe REVIEW - EXEMPLO
TCC 00308: Programação de Computadores I Organização de programas em Python
TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento
Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes
Herança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
CURSO DE POO COM JAVA
07 CURSO DE POO COM JAVA Arrays PROF. MARCOS VINICIUS [email protected] Introdução Imaginemos que queiramos trabalhar com as notas dos alunos. Supondo que cada aluno deva ter cinco notas, podemos
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Introdução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa [email protected] Universidade Federal Rural do Semiárido Bacharelado
Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Modularidade - Funções e Procedimentos
Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada
