120 likes | 307 Views
Atributos, Encapsulamento e Interface em Java. Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes cristiano.nunes@metrocamp.edu.br. Atributos. Sintaxe:
E N D
Atributos, Encapsulamento e Interface em Java Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes cristiano.nunes@metrocamp.edu.br
Atributos Sintaxe: <mod. acesso> <modificadores><tipo><nomeDoAtributo>; Exemplo: publicclassFinancas { publicstaticfloatjuros_selic; }
Modificador de Acesso do Atributo • public • Especifica que o atributo pode ser acessado diretamente pelo objeto ou classe dentro de outras classes; • private • Especifica que o atributo só pode ser acessado dentro da própria classe; • protected • Especifica que o atributo só pode ser acessado dentro da própria classe ou das subclasses que o herdam;
Modificadores • static • Atributos com esse modificador são chamados de atributos estáticos ou atributos de classe. • Um atributo estático mantém seu valor de forma única para todos os objetos instanciados a partir da classe que o declara; • final • Especifica que o atributo é uma constante. • A ausência do modificador static indica que o atributo é um atributo de instância (objeto).
Atributo Estático x Constante • Um atributo estático não é a mesma coisa que uma constante; • No entanto podemos ter um atributo estático que também é uma constante: • publicstaticfinaldoublepi = 3.1415926535;
Tipo de Dado do Atributo • Um atributo só pode armazenar (ou referenciar) valores de acordo com o tipo que ele foi declarado; • Os tipos podem ser: • Tipos primitivos • boolean, char, byte, short, int, long, float e double; • Tipos de classe • String, Date, Array entre outras classes da própria linguagem Java ou até mesmo classes criadas pelo programador.
Encapsulamento • Consiste em ocultar a implementação dos métodos e restringir o acesso aos atributos somente através de métodos internos; • Para isso precisamos que todos os atributos sejam privados à classe; privateString nome; privateStringendereco; privatebyte idade;
Interface de uma Classe • É o conjunto de métodos públicos que permitem o objeto ou classe se comunicar com o meio externo; • Para que cada atributo privado seja acessado fora da classe que o implementa, é necessário um par de métodos que permite alterar o valor do atributo assim como mostrar o valor do mesmo. • Veja o exemplo no slide seguinte: ...
Interface de uma Classe publicclassQuadrilatero { // Atributos privados privatefloatbase; privatefloataltura; // Interface: métodos públicos que acessam os atributos privados publicfloatmostreBase() { return base; } publicvoidajusteBase( floatnova_base ) { base = nova_base; } publicfloatmostreAltura() { return altura; } publicvoidajusteAltura( floatnova_altura ) { altura = nova_altura; } }
Interface de uma Classe /* Esse aplicativo (Java Application) usa a classe Quadrilatero e sua interface para poder acessar os atributos privados da mesma */ publicclassAplicativo { publicstaticvoidmain () { QuadrilateroumQuadr = newQuadrilatero(); umQuadr.ajusteBase( 15f ); umQuadr.ajusteAltura( 20f ); System.out.println( umQuadr.mostreBase() ); System.out.println( umQuadr.mostreAltura() ); floatarea = umQuadr.mostreBase() * umQuadr.mostreAltura(); System.out.println(“Area: “ + area + “ cm2”); } }