Baixe o app para aproveitar ainda mais
Prévia do material em texto
16/10/2013 1 Linguagem de Programação Orientada a Objetos e Persistência de Dados Aula 004 – 16/10/2013 Prof. Tiago C. dos Santos tiago.caceraghi@fmb.edu.br 1 Agenda • Revisão: – Classes, objetos e instâncias; – Métodos; – Vamos deixar de conversa e vamos programar; – Relação Programação e Modelagem; • Mais sobre Java e Programação O.O.; • Atividades; • Referências. • Anexos: códigos 2 16/10/2013 2 Revisão: Classes, objetos e instâncias • Classes são escritas com os recursos da linguagem de programação orientada a objetos para implementação dos modelos; • Classes não podem ser utilizadas diretamente nos programas; • Classes são somente moldes ou formas que representam os modelos abstratamente. 3 Revisão: Classes, objetos e instâncias • Nos modelos e classes, sabemos que o dado endereço do modelo lista-telefônica representa o endereço, mas não há como determinar de quem é; • O endereço, ou seja, o dado representa uma informação genérica e não uma informação sobre uma pessoa cujos dados são usados no modelo. 4 16/10/2013 3 Revisão: Classes, objetos e instâncias • Para que possamos representar dados específicos usando classes é necessário que criemos objetos, instâncias, exemplos ou amostras desta classe; • Um objeto ou instância (termos mais comumente usados) é uma materialização da classe, e pode ser usado para representar dados. 5 Revisão: Classes, objetos e instâncias • Para cada item que queiramos representar no nosso programa, devemos criar um objeto da classe adequada; 6 16/10/2013 4 7 Métodos • Métodos são blocos de código, presentes dentro das classes; • Podem processar dados desta classe e dados que são passados como argumentos para os métodos; 8 16/10/2013 5 Métodos • Controle de acesso aos métodos de uma classe pode ser feito pelos modificadores private e public; • Métodos que são declaradas como public podem ser executados diretamente por classes e programas que usam a classe que contém este método; • Métodos declarados como private só podem ser executados por métodos da classe que os contém. 9 Métodos • Um método pode receber diversos argumentos de diferentes tipos; • Cada argumento deverá ser precedido de seu tipo; • Métodos não podem ser criados dentro de métodos, nem fora de classes. 10 16/10/2013 6 Métodos 11 Métodos • Quando se falar modificadores de acesso devemos lembrar do termo encapsulamento, termo da orientação objeto; • Não podemos esquecer também do modificar protected e default. 12 16/10/2013 7 Vamos deixar de conversa e vamos programar; • Criar a classe principal: ContaBancaria.java • Criar a classe: Conta.java 13 Relação Programação e Modelagem • + � public; • - � private; • # � protected; • ~ � default. 14 16/10/2013 8 Mais sobre Programação Java e O.O. • Para que uma classe em Java possa ser executada como um programa, ela deve ter um ponto de entrada; • É um método com nome, modificadores e argumentos especiais; • O nome deste método deve ser main, e com seus modificadores e argumentos, deve ser escrito como public static void main(String args[]). 15 Mais sobre Programação Java e O.O. • O modificador static permite que usemos métodos de classes sem que seja preciso criar instâncias destas classes; • O método main tem void como tipo de retorno, ou seja, nenhum valor é retornado; • Os argumentos String args[] representam um array de Strings que serão passados para o método main. 16 16/10/2013 9 Mais sobre Programação Java e O.O. • Um array é uma forma conveniente de armazenarmos vários valores do mesmo tipo em uma única variável, que usará um índice para que os diferentes valores sejam acessados; • Para mais clareza e melhor entendimento dos conceitos de programação orientada a objetos, é sugerido que o método main não seja colocado nas classes usadas para representar modelos, e sim em classes separadas, que provavelmente conterão somente este método, como mostrado nos exemplos na próxima seção. 17 Vamos deixar de conversa e vamos programar; • Criar a classe principal: Residencia.java • Criar a classe: Lampada.java 18 16/10/2013 10 Vamos deixar de conversa e vamos programar; • Criar a classe principal: Calendario.java • Criar a classe: Data.java 19 Atividades Data entrega: 28/10/2013 – E-mail: tiago.caceraghi@fmb.edu.br • 01 – Escreva uma classe que represente um livro, do ponto de vista de uma biblioteca. Que atributos e operações devem ser representados pela classe ? • 02 – Escreva uma classe que represente um livro, do ponto de vista de uma livraria. Que atributos e operações devem ser representados pela classe ? • 03 – Qual a função do void na linguagem Java; • 04 – Construa uma classe Java com base no diagrama UML a seguir: 20 16/10/2013 11 Atividades 21 Atividades • 05 – Quando queremos que o acesso a uma variável da classe seja feito através dos métodos o que devemos fazer na declaração da variável; 22 16/10/2013 12 • http://docs.oracle.com/javase/tutorial/information/glossary.h tml#void • Orientada Objeto Usando Java - Rafael Santos – Capitulo 3 – Material disponibilizado na xerox; • http://aprendajavafacil.blogspot.com.br/2012/02/aula-09- encapsulamento-modificadores-de.html 23 classe principal: ContaBancaria.java package contabancaria; public class ContaBancaria { public static void main(String[] args) { Conta c = new Conta(); c.saldo = 2000; c.limite = 500; c.n_conta = "123-4"; System.out.println("Saldo..: "+c.saldo); System.out.println("Limite.: "+c.limite); } } 24 16/10/2013 13 classe: Conta.java package contabancaria; public class Conta { double saldo; double limite; String n_conta; public void saca(double quantia){ saldo = saldo - quantia; } public void deposita(double quantia){ saldo = saldo + quantia; } } 25 classe principal: Residencia.java 26 16/10/2013 14 classe: Lampada.java • package lamparina; • //classe Lampada; • public class Lampada { • //variável ligada do tipo boolean; • //private: só permite acesso através do método; • private boolean ligada; • //método para acender a lâmpada; • void acende(){ • ligada = true; • } • //método para apagar a lâmpada • void apaga(){ • ligada = false; • } • } 27 classe principal: Calendario.java 28 16/10/2013 15 classe: Data.java package calendario; public class Data { private byte dia, mes; private short ano; void ajustaDia(byte d){ dia = d; } void ajustaMes(byte m){ mes = m; } void ajustaAno(short a){ ano = a; } void ajustaData(byte d, byte m, short a){ ajustaDia(d); ajustaMes(m); ajustaAno(a); } void imprime(){ System.out.print("Dia.: "+dia+" "); System.out.print("Mês.: "+mes+" "); System.out.print("Ano.: "+ano+" "); } String formata(){ String temporaria = "Nascido em.: "+dia+"/"+mes+"/"+ano; return temporaria; } } 29
Compartilhar