Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

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

Download "Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação"

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 COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

Linguagem de Programação III

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

Leia mais

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; 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,

Leia mais

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 Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

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

Leia mais

Classes e Objetos. Sintaxe de classe em Java

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

Leia mais

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 Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Testes de unidade Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução Por que testar? Para verificar o correto funcionamento do código. Para garantir

Leia mais

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

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:

Leia mais

Estrutura de Dados Funções e Procedimentos

Estrutura de Dados Funções e Procedimentos Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

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

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

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

Leia mais

Linguagem de Programação II Implementação

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

Leia mais

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. 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

Leia mais

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Introdução a classes e objetos. Copyright 2006 by Pearson Education 3 Introdução a classes e objetos 3.1 Introdução Programas do Capítulo 2 Todas as instruções estavam localizadas na função main. Em geral Os programas consistirão Na função main e Em uma ou mais classes

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

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 paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

Universidade Estadual de Santa Cruz

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

Leia mais

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

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

Leia mais

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

Leia mais

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais

Leia mais

Construtores e Especificadores de Acesso

Construtores e Especificadores de Acesso Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação

Leia mais

Interfaces POO. Prof. Marcio Delamaro

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

Leia mais

Programação Orientada a Objetos

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

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

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 Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

Conceitos Básicos da Programação OO

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 poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os

Leia mais

Visibilidade e Encapsulamento

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

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Desenvolvimento Guiado por Testes (TDD) Diretoria Acadêmica de Gestão e Tecnologia da Informação TDD Test Driven Development (desenvolvimento guiado por testes) é

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

Java Variáveis e Controle Fluxo

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

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa: Algoritmos Algoritmos Leandro Tonietto Unisinos ltonietto@unisinos.br 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

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

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

Leia mais

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

Leia mais

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes - Programação Java - Classes, Objetos, Atributos e Métodos - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Programação Orientada a Objetos Classes e Objetos Definindo e Instanciando Classes Atributos

Leia mais

Programação Orientada a Objetos em Java

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,

Leia mais

Algoritmos II prof. Daniel Oliveira

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

Leia mais

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

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

Leia mais

Introdução à Orientação a Objetos em Java

Introdução à Orientação a Objetos em Java Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB Centro de Informática, UFPE Programação estruturada

Leia mais

Universidade Estadual de Santa Cruz

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

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

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

Leia mais

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

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

Leia mais

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

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;

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

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

Leia mais

Conceitos de Programação Orientada a Objetos

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

Leia mais

Linguagem de Programação III

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

Leia mais

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 AULA 13 MÉTODOS Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br MÉTODOS Parâmetros Em Java, os métodos podem possuir ou não parâmetros Na aula anterior, construímos

Leia mais

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

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.

Leia mais

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 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)

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

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

Leia mais

Programação Orientada a Objetos Introdução a POO

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

Leia mais

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) 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

Leia mais

Programação: Vetores

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

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Funções Gil Eduardo de Andrade Definição É conjunto de comandos (linhas de código) agrupado num bloco devidamente nomeado, que ao ser invocado executa todas as instruções nele

Leia mais

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: 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

Leia mais

Variáveis primitivas e Controle de fluxo

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/

Leia mais

MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci

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.

Leia mais

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

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

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

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

Leia mais

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

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: ------------------------------------------------------------------------------------------------------

Leia mais

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. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

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

Leia mais

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 08 Encapsulamento Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Projeto Orientado a Objetos Princípios: Abstração; Encapsulamento; Modularidade.

Leia mais

Notas de Aula 09: Tratamento de exceções

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

Leia mais

Programação Orientada a Objetos

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é tulio.alberton@ifsc.edu.br 31 de julho de

Leia mais

Aula 4 Sumário Classes e Objetos Variáveis de instância, construtores e métodos Programas de teste

Aula 4 Sumário Classes e Objetos Variáveis de instância, construtores e métodos Programas de teste Aula 4 Sumário Classes e Objetos Variáveis de instância, construtores e métodos Programas de teste Classes e Objetos Uma classe é um objeto que serve de molde modelo ou padrão para a construção de objetos

Leia mais

Interfaces e Classes Abstratas

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

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Classes e Objetos POO

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,

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

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

Leia mais

INSTRUÇÕES DE REPETIÇÃO

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

Leia mais

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

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece

Leia mais

TCC 00308: Programação de Computadores I Organização de programas em Python

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

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

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

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Leia mais

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. 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

Leia mais

Herança e Polimorfismo

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

Leia mais

CURSO DE POO COM JAVA

CURSO DE POO COM JAVA 07 CURSO DE POO COM JAVA Arrays PROF. MARCOS VINICIUS marcos.engsoft@gmail.com Introdução Imaginemos que queiramos trabalhar com as notas dos alunos. Supondo que cada aluno deva ter cinco notas, podemos

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

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

Leia mais

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

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

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

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

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

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 Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

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

Leia mais

Computação e Programação (2007/2008-1º Semestre)

Computação e Programação (2007/2008-1º Semestre) Computação e Programação (2007/2008-1º Semestre) Exame Tipo: 2008-01-14 MEMec - LEAN DURAÇÃO: 3 horas Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

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

Leia mais

Linguagem C Princípios Básicos (parte 1)

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

Leia mais

Modularidade - Funções e Procedimentos

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

Leia mais

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma

Leia mais

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

Classes e Objetos. Prof. Fernando V. Paulovich  9 de agosto de 2010 Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais