Modificadores de acesso e atributos de classe

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

Download "Modificadores de acesso e atributos de classe"

Transcrição

1 Modificadores de acesso e atributos de classe Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em 1

2 Objetivos Controlar o acesso aos métodos, atributos e construtores das classes através dos modificadores private e public; Escrever métodos de acesso a atributos do tipo getters e setters; Escrever construtores para suas classes; Utilizar variáveis e métodos estáticos. 2

3 Controlando o acesso Vamos voltar à classe Conta e observar o seu método saca( ). 3

4 Controlando o acesso O problema consiste em que o método saca() não impede que a retirada ultrapasse o limite da conta. 4

5 Controlando o acesso Poderíamos colocar um if no método saca() para evitar o estouro do limite... 5

6 Controlando o acesso Mas o que garante que os usuários da classe (os programadores vermelhos) vão sempre usar o método saca() para efetuar retiradas? 6

7 Controlando o acesso Como evitar o estouro da conta? Os programadores vermelhos (os usuários da classe Conta) poderiam acrescentar um if ao seu código. 7

8 Controlando o acesso Problemas com essa solução: O que garante que os programadores vermelhos irão se lembrar de fazer o teste? Esse mesmo teste pode ter de ser repetido em vários lugares diferentes do código. A verificação das regras de negócio da classe Conta não deveria ser responsabilidade dos usuários da classe (programadores vermelhos), mas sim do programador que escreveu a classe Cliente (programador azul) 8

9 Controlando o acesso A melhor solução seria então forçar os programadores usuários da classe (programadores vermelhos) a usar o método saca(), e impedi-los de acessar diretamente os atributos da classe. Para fazer isso, basta preceder a declaração dos atributos com a palavra reservada private 9

10 Controlando o acesso qualquer tentativa por parte dos usuários da classe (programadores vermelhos) de acessar diretamente um atributo private, irá resultar em um erro de compilação. 10

11 Encapsulamento A prática (do programador azul) de proteger a integridade da classe escondendo certas informações dos usuários dessa classe (programadores vermelhos) e mostrando somente aquilo que é necessário para a utilização da classe é chamada de encapsulamento. Devemos sempre expor o mínimo possível de funcionalidades para criar um baixo acoplamento entre as classes do projeto Vantagens do encapsulamento Os usuários da classe sabem o que ela faz, mas não como ela faz. Isso permite ao programador da classe (programador azul) alterar a implementação de métodos ou introduzir/modificar novas regras de negócio, sem afetar o código escrito pelos programadores usuários da classe (programadores vermelhos). 11

12 Modificadores de acesso Além do modificador de visibilidade private, temos também o modificador public que permite o acesso irrestrito a atributos e métodos. 12

13 Dicas de codificação Em geral, atributos são privados e métodos são públicos. Podem haver no entanto, exceções a essa regra. O conjunto de métodos públicos de uma classe é chamado de interface da classe, pois esta é a única maneira pela qual é possível se comunicar com os objetos dessa classe. 13

14 Interfaces Ao escrever seus programas, os programadores vermelhos devem se concentrar nas interfaces das classes escritas pelos programadores azuis. Em outras palavras, os programadores vermelhos devem se concentrar NO QUE as classes fazem e não em COMO elas fazem. 14

15 Interfaces - Analogia O conceito de utilizar interfaces de serviços é corriqueiro no nosso dia a dia: Utilizamos a interface de um automóvel (o volante, os pedais, a alavanca de câmbio) sem precisar saber como funciona um automóvel. Utilizamos a interface de uma televisão (o controle remoto) sem precisar saber como funciona uma televisão. Utilizamos a interface de uma pizzaria (o telefone) para pedir uma pizza e não sabemos se o forno é a gás ou lenha, como se chama o pizzaiolo ou quanto ele ganha. 15

16 O problema original: validação de CPF Uma vez que o atributo cpf é privado, a única forma de alterá-lo é através do método mudacpf() consequencia: é impossível armazenar um cpf inválido. 16

17 Getters e Setters O método mudacpf() no exemplo anterior é chamado de um setter, isto é, um método que tem a responsabilidade de alterar o atributo privado de uma classe. Vamos voltar à classe Conta e escrever um método de acesso para leitura (um getter) e um método de acesso para escrita (um setter) do atributo limite. 17

18 Getters e Setters 18

19 Getters e Setters Você poderia dar ao getter e ao setter os nomes que quisesse. Você poderia, por exemplo, chamá-los de leialimite() e escrevalimite(). Essa não parece ser, no entanto, uma boa idéia. Os nomes getxxx() e setxxx() são por demais usuais. Além disso, se você pedir ao NetBeans para criar para você os métodos de acesso (Alt + Insert) ele os criará com os nomes getxxx() e setxxx() O método getxxx() não retorna necessariamente o valor do atributo XXX. Observe o exemplo a seguir onde o método getsaldo() retorna o saldo do cliente acrescido do limite de crédito (uma prática comum dos bancos). 19

20 Getters e Setters 20

21 Métodos Construtores Quando usamos a palavra reservada new para criar uma nova instância de uma classe (um objeto), estamos em verdade invocando o método construtor dessa classe. método construtor o operador new a referência para o novo objeto a classe como um tipo O método construtor é um método que tem, obrigatoriamente, o mesmo nome da classe. 21

22 Métodos Construtores O método construtor é um método especial, que é executado toda vez que uma nova instância é criada. Sua função é definir o estado inicial (o valor dos atributos) da instância recém criada. 22

23 O construtor padrão Até agora, não escrevemos em nossas classes nenhum método construtor. Como então foi possível criar instâncias de classes usando o new? Se você não escrever seu próprio construtor, o compilador cria para você um construtor padrão Esse construtor não recebe parâmetros e não contém nenhuma instrução dentro do abre e fecha chaves. Sua função é simplesmente estar lá, já que é necessário haver um construtor para a criação de instâncias. 23

24 O construtor padrão 24

25 Métodos Construtores Os construtores podem receber parâmetros e, assim, inicializar os atributos com valores passados pelos usuários da classe (programadores vermelhos) 25

26 Métodos Construtores No exemplo anterior, o método construtor recebe o cliente titular da conta. Assim, quando criarmos uma nova conta ela já terá um titular. 26

27 A necessidade de um construtor Por que devo criar meus próprios construtores se o compilador me fornece um construtor default? 1. Para forçar os usuários da classe (programadores vermelhos) a fornecer os parâmetros obrigatórios de inicialização do objeto. Lembre-se, quando você escreve seus próprios construtores o construtor padrão não mais é fornecido, então, se você escrever um construtor que recebe parâmetros, novas instâncias dessa classe só poderão ser criadas se esses parâmetros forem fornecidos. 2. Para facilitar a vida dos programadores vermelhos. Talvez fosse possível, em alguns casos, deixar os programadores vermelhos criarem instâncias da classe usando o construtor padrão (com todos os atributos zerados) e, depois, definirem o estado desses objetos usando os setters, mas isso definitivamente seria mais trabalhoso. 27

28 Sobrecarga de métodos construtores 28

29 Sobrecarga de métodos construtores 29

30 Usando Construtores Exemplo de uso desses métodos construtores: 30

31 Atributos de classe 31

32 Atributos de classe Suponha que nosso banco precisa saber, a qualquer momento, o número de contas já abertas. Uma solução para isso seria: 32

33 Atributos de classe Essa solução tem um problema muito parecido com a validação de CPF. O código para incrementar o número total de contas pode estar espalhado por vários lugares da aplicação. Além disso, não há como garantir que os usuários da classe vão se lembrar de incrementar a variável totaldecontas. Resumindo, o problema dessa solução está em que a responsabilidade de manter o número total de contas está com os programadores vermelhos (usuários da classe) quando deveria estar com o programador azul (autor da classe). Poderíamos então pensar na seguinte solução: não funciona!!! 33

34 Atributos de classe O problema está em que o número total de contas é um atributo da conta, assim como o saldo ou o limite e cada instância criada teria o seu próprio contador de contas que será sempre incrementado de zero para um. Precisamos então de uma espécie de variável global a todas as instâncias da classe, isto é, uma variável única para todas as instâncias. Essa variável global é obtida com a palavra reservada static. a variável totaldecontas é chamada de uma variável de classe enquanto que as variáveis saldo e limite são chamadas de variáveis de instância 34

35 Atributos de classe Deveríamos usar os princípios do encapsulamento e transformar o atributo totaldecontas em um atributo privado e, em seguida, escrever um getter para o mesmo. 35

36 Atributos de classe Como os usuários da classe podem agora ter acesso a essa informação? Existe ainda um problema com essa solução. Para saber o número total de contas é preciso haver ao menos uma conta já instanciada. Como obter a informação de que nenhuma conta foi ainda aberta? Solução: métodos de acesso a variáveis estáticas são, em geral, também eles estáticos. 36

37 Métodos estáticos Que podem ser acessados como: observe a referência através de uma classe e não de uma instância 37

38 Pense nisso... Um método estático não pode acessar atributos de instância. Por que? 38

Modificadores de Acesso e Atributos de Classe

Modificadores de Acesso e Atributos de Classe Modificadores de Acesso e Atributos de Classe 1 Controlando o acesso p Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca permite sacar mesmo que o limite tenha sido

Leia mais

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS LABORATÓRIO 2 PROF. EMILIO PARMEGIANI Neste laboratório trabalharemos com conceitos de orientação a objetos, através da criação de classes, propriedades,

Leia mais

Pacotes Organizando suas classes e bibliotecas

Pacotes Organizando suas classes e bibliotecas Pacotes Organizando suas classes e bibliotecas 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

Orientação a Objetos Classes Abstratas

Orientação a Objetos Classes Abstratas Orientação a Objetos Classes Abstratas 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

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

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

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

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Terceira aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Terceira aula Programação Orientada a Objetos II Java Terceira aula 1 Programação Orientada a Objeto II Conceitos de Orientação a Objeto Classes e Objetos Atributos e métodos Modificadores de acesso Construtores Exercícios

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

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

Orientação a Objetos Básica

Orientação a Objetos Básica Orientação a Objetos Básica 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/ 1 Objetivos

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

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

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

Modificadores de Acesso JAVA

Modificadores de Acesso JAVA Modificadores de Acesso JAVA Definição Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Esses modificadores são palavras-chave reservadas do Java. E as

Leia mais

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento. Introdução Atributos, métodos e encapsulamento [email protected] Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências

Leia mais

Declaração de Construtores em Java

Declaração de Construtores em Java Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e

Leia mais

Introdução à Programação. Encapsulamento e Herança

Introdução à Programação. Encapsulamento e Herança Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância

Leia mais

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length) Arrays em Java 1 Agenda O que é um array Declaração de um array Instanciação de um array Acessando os elementos de um array O tamanho de um array (length) Arrays multi-dimensionais 2 O que é um Array?

Leia mais

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS Prof. Dr. Daniel Caetano 2017-1 Objetivos Compreender os conceitos classe e objeto Compreender a função dos métodos e atributos e o conceito de encapsulamento

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

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

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

[Desenvolvimento OO com Java] Modificadores de acesso e atributos de classe

[Desenvolvimento OO com Java] Modificadores de acesso e atributos de classe Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza Este obra está licenciada com uma licença Creative Commons Atribuição- CompartilhaIgual 4.0

Leia mais

Relacionamentos entre objetos

Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos

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

Notas de Aula 04: Herança e polimorfismo.

Notas de Aula 04: Herança e polimorfismo. Notas de Aula 04: Herança e polimorfismo. Objetivos da aula: Introduzir o conceito de Heranças Criar uma hierarquia de classes Rever o uso de modificadores de acesso. Apresentar o conceito de polimorfismo

Leia mais

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

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

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

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

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

Laboratório de programação II

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

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Orientação a Objetos e Java

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

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

Classes, Métodos e Propriedades

Classes, Métodos e Propriedades Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de

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

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias

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

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

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 [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como

Leia mais

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!

Leia mais

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos

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

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos

Leia mais

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] [Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] Objetivos Revisar conceitos de Orientação a Objetos Classes Objetos Encapsulamento Herança Sobrescrita de métodos Sobrecarga de métodos

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

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Aula 06. Prof. Diemesleno Souza Carvalho

Aula 06. Prof. Diemesleno Souza Carvalho Programação Orientada a Objetos II Aula 06 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - Arrays - Listas - Conjuntos

Leia mais

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter

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

Programação Orientada aos Objectos I

Programação Orientada aos Objectos I Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Linguagem de Programação 1 Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Objetivo: Apresentar a classe Scanner e as principais estruturas de controle da linguagem

Leia mais

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos 01.Em orientação a objetos, o conceito que determina que as classes devem cuidar dos seus atributos de forma exclusiva, expondo o mínimo possível de suas funcionalidades para outras classes, é a)herança

Leia mais

Escrito por Adriano Neres Rodrigues Qua, 30 de Dezembro de :00 - Última atualização Qua, 30 de Dezembro de :01

Escrito por Adriano Neres Rodrigues Qua, 30 de Dezembro de :00 - Última atualização Qua, 30 de Dezembro de :01 Introdução Geralmente as aplicações que nós desenvolvimentos possui vários formulários. Geralmente estes formulários são criados dinamicamente pela sua aplicação em tempo de execução através de código

Leia mais

Aula 5 - Mais C e repetição

Aula 5 - Mais C e repetição Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão

Leia mais

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla. Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado

Leia mais

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança

Leia mais

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

<identificador>[<tamanho>]: <tipo>;

<identificador>[<tamanho>]: <tipo>; Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma

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

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks

Leia mais

p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.

p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java. Pacotes e Jar 1 Pacotes p Usamos pacotes em java para organizar as classes semelhantes. p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga

Leia mais

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo POO Fundamentos Parte III Professor Vicente Paulo de Camargo PROGRAMAÇÃO ORIENTADA A OBJETOS HERANÇA SIMPLES Mecanismo que permite a uma classe, denominada de SUBCLASSE ou CLASSE FILHA, herdar todos os

Leia mais