Capítulo 3. Programação por objectos em Java

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

Download "Capítulo 3. Programação por objectos em Java"

Transcrição

1 Capítulo 3. Programação por objectos em Java 1/46

2 Índice Indice Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 2/46

3 Índice 3.1 Qualificadores de visualização Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 3/46

4 3.1 Qualificadores de visualização O que são qualificadores de visualização? Os objectos de uma classe acedem aos métodos e variáveis dos objectos de outras classes Os qualificadores de visualização: -Classificam o tipo de acesso que será permitido às variáveis e métodos -Permitem proteger as variáveis e métodos -Permitem o encapsulamento das variáveis e métodos As variáveis de um objecto protegidas apenas são acessíveis através dos designados acessors -Os acessors são constituídos por getters e setters -Esta técnica de protecção é a que se designa encapsulamento Privada á classe Setter publico Getter publico 4/46

5 3.1 Qualificadores de visualização O que são qualificadores de visualização? Classe: Métodos e variáveis definidos na classe são visíveis a outros métodos dentro da mesma classe. Package: Métodos e variáveis definidos na classe são visíveis a outras classes definidas no mesmo package. SubOut: Métodos e variáveis definidos na classe são visíveis pelas suas subclasses definidas noutro package Mundo: Métodos e variáveis definidos na classe são visíveis por todas as classes mesmo de outro package e sem relação entre si. 5/46

6 Índice 3.2 Classe Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 6/46

7 3.2 Classes Classe é um conjunto de objectos do mesmo tipo Definição de classe: -Molde ou modelo que define as variáveis e os métodos comuns a todos os objectos desse tipo A classe bicicleta definida anteriormente define: -Variáveis ou atributos (campos) como: velocidade, cadência do pedal e mudança. -Métodos como: mudar mudança, mudar cadência de pedal e travar. Ao declarar uma classe definem-se as suas características, que são: -Variáveis do objecto -Variáveis da classe -Métodos do objecto -Métodos da classe 7/46

8 3.2 Classes Sintaxe Classe: Sintaxe para definição da classe Qualificadores da classe: public abstract class nome [ extends nomepai ][ implements nomeinterface ]{ final Campos Métodos Qualificadores da classe: -Public: a classe pode ser publicamente acedida (os membros publicos da classe são disponibilizados em todo o programa). -Abstract: a classe não pode ser instanciada (normalmente porque alguns métodos são apenas protótipos) -Final: a classe não pode ter subclasses opcional Herança opcional Interface Na omissão do qualificador public uma classe é apenas acedida no pacote onde está definida. Uma classe pode ter mais do que 1 qualificador. No entanto não pode ser em simultâneo abstract e final 8/46

9 3.2 Classes Classe: Variáveis de classe e de objecto Qualificadores da variável: public private protected tipo nome [ = Expressão ] ; static final Qualificadores do atributo (variável) Visibilidade: opcional inicialização -public: Atributo acessível onde quer que a classe seja acessível -private: Atributo acessível apenas na classe -protected: Atributo acessível na classe, subclasses e classes no mesmo pacote static: atributo da classe (comuns a todos os objectos instanciados da classe) final: atributo constante. (Constante possui atributos static final) Com excepção dos qualificadores de visibilidade, uma variável pode ter mais que 1 qualificador 9/46

10 3.2 Classes Classe: Variáveis de classe e de objecto Variáveis de Objecto: Pertencem a cada instância do objecto. Só ocupam espaço depois de criados. (Não têm a keyword static) -Também existem métodos de classe (static) e objecto Variáveis independentes a cada objecto (Instância contabancaria) Saldo Titular ultimonumero Número Variáveis da classe (contabancaria) juro 10/46

11 3.2 Classes Classe: Variáveis de classe e de objecto Uma variável (atributo) de uma classe é acedido pelo operador ponto (. ) A forma de aceder á variável é: referência.atributo A referência é um identificador de: -Objecto, se o atributo não tiver o qualificador static. -Classe, se o atributo tiver o qualificador static: Exemplo: System.out.println(Contabancaria.titular) 11/46

12 3.2 Classes Métodos de objecto Os métodos definem a forma como o objecto interage com o mundo exterior (interfaces) -Os métodos de classe são definidos pela keyword static -Os métodos de classe podem (devem) ser acedidos directamente pela classe, mesmo que não tenha sido criada nenhuma instância (objecto) dessa classe. -Exemplo: ContaBancaria.obterJuro(); Método de objecto Método de classe 12/46

13 3.2 Classes Forma dos métodos alterarem variáveis Os métodos de objecto podem ler e alterar variáveis de objecto e de classe. Os métodos de classe (static) só podem ler e alterar as variáveis de classe -Os métodos de objecto alteram o estado do objecto. Os de classe o estado da classe Manipula variável de objecto (instancia ContaBancaria) Manipula variável juro da classe contabancaria 13/46

14 3.2 Classes Classes encadeadas Classes encadeadas Java permite a criação de classes encadeadas -Forma de agrupamento lógico das classes (se 1 classe apenas é util para outra, então é lógico embebê-la nessa classe e mantê-las em conjunto) -Aumenta o encapsulamento - Arruma melhor o código As classes encadeadas podem ser Exemplo: -Estáticas -> denominadas classes estáticas encadeadas (static nested classes) -Não estáticas -> denominadas classes interiores (inner classes) class OuterClass {... static class StaticNestedClass {... class InnerClass {... Classe estática (encadeada) Classe não estática (interior) 14/46

15 3.2 Classes Classes encadeadas Acesso a classes estáticas encadeadas (static nested classes) -Interage com as intâncias da sua classe exterior (outerclass) tal como outra classe top level -São acedidas da seguinte forma: OuterClass.StaticNestedClass -Os objectos das classes estáticas encadeadas são creados da seguinte forma: OuterClass.StaticNestedClass nestedobject nestedobject = new OuterClass.StaticNestedClass(); Classes não estáticas -As classes interiores (inner) estão associadas a uma instância da sua classe envolvente -Não podem definir nenhum método estático -Têm acesso directo aos métodos e campos da classe envolvente -São instanciadas da seguinte forma: OuterClass.InnerClass innerobject innerobject = outerobject.new InnerClass(); Instância da classe exterior Instância da classe interior 15/46

16 Índice 3.3 Objecto Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 16/46

17 3.3 Objecto Criar ou Instanciar um objecto Instanciar um objecto implica: Sintaxe: -A criação de uma variável que vai apontar para o objecto (Neste caso Objecto1) -A instanciação do objecto usando o comando new seguido de uma chamada ao método construtor da classe. Ident = new Classe( [ Expr [, Expr ]* ]) -Ident: referência par ao objecto a ser criado -Classe: Classe a que pertence o objecto -Expr: Parâmetros a passar ao construtor (opcional) Variáveis de objecto Exemplo: Criar 1 instância do objecto ContaBancaria representada pela variável Objecto1 ContaBancaria Objecto1 ; Objecto1 = new ContaBancaria(); Declaração obrigatória Construtor 17/46

18 3.3 Objecto Como o Objecto acede ás variáveis O Objecto acede às suas variáveis e ás da classe a que pertence e -Para aceder ás variáveis de objecto há que referir o nome do objecto, ponto (. ) e nome da variável Objecto1.numero=++ultimoNumero ; Objecto1.titular= Carlos ; Objecto1.saldo=234.5f; Objecto2.numero=++ultimoNumero ; Objecto2.titular= Maria ; Objecto2.saldo=543.2f; 18/46

19 Índice 3.4 Métodos Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 19/46

20 3.4 Métodos Métodos: Sintaxe para definição de métodos Qualificadores do método: public private protected tipo nome ( [Tipop IdentP ] * ) { Varialvel local Intrução abstract static final Qualificadores do método Visibilidade: Tipo de retorno do método (Int, float, String, etc.) -public: Método acessível onde quer que a classe seja acessível -private: Método acessível apenas na classe Opcional Tipo dos parêmetros do método Int, float, String, etc -protected: Método acessível na classe, subclasses e classes no mesmo pacote abstract: Método sem corpo. static: Método de classe final: Método que não pode ser redefinido nas subclasses 20/46

21 3.4 Métodos Métodos: Forma de aceder a métodos Um método de uma classe é acedido pelo operador ponto (. ) na forma A referência é um identificador de: -Objecto, se o método não tiver qualificador static. -Classe, se o método tiver qualificador static Chamada sucessiva referência.metodo(params) Um método pode retornar um objecto, ao qual se pode chamar outro método. Existem duas formas de chamar sucessivamente os métodos: -1 Guardar o objecto numa variável Classe var = obj.metodo1(); var.metodo2(); -2 Chamar directamente obj.metodo1().metodo2(); 21/46

22 3.4 Métodos Valor devolvido por um método Um método é uma função. Uma função retorna sempre um valor. Esse valor é um tipo: predefinido, apontador ou void (sem return) public boolean levantar(float quantidade) { if (saldo>=quantidade) { saldo = quantidade; return true; else{ return false; public void levantar(float quantidade) { if (saldo>=quantidade) { saldo = quantidade; obtersaldo(); else{ System.out.print( Não tem Saldo ); obtersaldo(); Devolve boolean (true False) Devolve void 22/46

23 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo pré definidos Resultado: Embora o método troca() faça a troca dos conteúdos das variáveis Os conteúdos das variáveis x e y definidas em main não sofrem alterações. O método trabalha com cópias das variáveis (duas novas) definidas localmente. 23/46

24 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo pré definidos -Variáveis do tipo predefinido (byte, int, float, ). Java guarda os seus valores na memória stack. -Variáveis do tipo Objecto também são guardadas na stack, mas o seu conteúdo é guardado na memória Heap. -Variáveis do tipo String Constantes são guardadas à parte numa memória denominada Dicionário de Strings. (Poupa espaço, pois se usarmos várias vezes estas strings constantes na mesma classe (e package) referencia sempre a mesma área de memória. - Quando passamos parâmetros para dentro de 1 método, esses valores são colocados na stack antes da chamada do método e lê-os da stack quando entra no método. Desta forma os valores que passam para dentro do método são sempre cópias de valores primitivos ou cópias de ponteiros. -Este facto é mostrado no exemplo anterior. O método troca () trabalha sobre cópia das variáveis e não sobre as variáveis definidas em main. 24/46

25 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo objectos conteúdo (Array) O valor do apontador é copiado para a. Ambos os apontadores referenciam o mesmo objecto. A alteração é feita no valor do objecto. Resultado: O método troca() recebe um apontador para o objecto. Esse apontador referencia o mesmo endereço de memória que a variável x do método main. No método troca() as chamadas ao array a, estão a provocar alterações no array x do método main. O conteúdo do array do método main é também alterado. 25/46

26 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo Objecto ou Array -O que passa para dentro do método é apenas uma cópia da referência (ou ponteiro) para esse objecto ou array. -Apesar de ser uma cópia o endereço de memória indicado pelo ponteiro referencia exactamente o mesmo Objecto ou array que foi passado para dentro do método -> O seu conteúdo é alterado directamente -No exemplo anterior, o método recebe um apontador para o objecto, em vez de receber os valores contidos no objecto. Sendo assim, essa alteração é reflectida em main() 26/46

27 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo objectos apontador a recebe o apontador de x e b o de y. Os valores de a e b trocam de apontadores x e y continuam a apontar para o mesmo Resultado: O que passa para dentro do método troca() são cópias dos ponteiros. Os valores dos ponteiros são trocados no método troca(). Essa alteração é apenas feita localmente e não é reflectida em main(). Não se está a trocar o conteúdo das variáveis x e y de main() mas sim o conteúdo das suas cópias a e b que inicialmente apontavam para os mesmo objectos. 27/46

28 3.4 Métodos Valor devolvido por um método Quando os parâmetros são do tipo apontadores -À semelhança do exemplo anterior, o que passa para dentro do método é apenas uma cópia da referência (ou ponteiro) para esse objecto. -No entanto, neste caso, o método troca() não altera os conteúdos das variáveis x e y. Os valores dos ponteiros são apenas trocados localmente no método troca(). A alteração não é reflectica em main(). -Neste exemplo, nem sequer podemos trocar os conteúdos dos objectos, pois a classe String não disponibiliza métodos para o fazer. 28/46

29 3.4 Métodos This A palavra reservada this Utilizada nos métodos para representar o objecto actual Permite distinguir um parâmetro de uma variável local Parâmetro Resultado: Variável de objecto Também permite enviar o objecto actual como argumento: Button.addAcionListener(this); 29/46

30 3.4 Métodos Overloading de métodos Overloading ou sobrecarga de métodos Overloading : Mecanismo que permite a declaração múltipla de métodos com o mesmo nome. -Em Java os métodos são identificados pela sua assinatura. -A assinatura é constituída pelo nome, número, tipo e ordem dos parâmetros Podemos ter vários métodos com o mesmo nome, desde com parâmetros diferentes (interessa a ordem e o tipo) -> Permite adicionar métodos que acrescentem novos comportamentos sem alterar os que já estão definidos public class Quadrilatero { public static void calculoarea(double lado) { System.out.println( A área do quadrado é + lado * lado); public static void calculoarea(double lado1, double lado2) { System.out.println( A área do rectângulo é + lado1 * lado2); public static void main(string[] srgs){ calculoarea(3.0); calculoarea(3.0, 4.0); Resultado: A área do quadrado é: 9.0 A área do rectângulo é: /46

31 3.4 Métodos Construtor O método construtor Permite instanciar (criar) um objecto da classe (Não é considerado um método) Permite inicializar as variáveis do objecto. Possui as seguintes características: -Tem o mesmo nome da classe -Nunca devolvem tipos (nem mesmo void). (Não declaramos o tipo de valor devolvido) -É invocado através da instrução new. -São normalmente utilizados para inicializar as variáveis de instância Uma classe pode ter mais do que um construtor. -O tipo e número de argumentos dado ao construtor, determinam qual o construtor a usar. Não é obrigatório definir um construtor na classe. -Na ausência de construtor, a classe herda o construtor por omissão. (construtor da classe Object) -O construtor por omissão tem um comportamento básico. Cria um novo objecto com todas as variáveis definidas na classe atribuindo-lhes valores pré-definidos pela linguagem JAVA 31/46

32 3.4 Métodos O método construtor public class Conta { /* Variáveis da classe */ private static long numproxconta = 0; protected long numconta; protected String dono; protected float quantia; /* Construtores */ Conta() { numconta = numproxconta +1 ; Conta (String s, float q) { numconta = numproxconta +1; dono = s; quantia = q; /* Métodos. */ Exemplo 1: Conta c1 = new Conta(); Cria um objecto c1 do tipo conta e atribui o valor 1 á variável numconta. Exemplo 2: Conta c2 = new Conta( Pedro, 100); Cria um objecto c1 do tipo conta, inicializando as variáveis dono e quantia. e atribui o valor 1 á variável numconta. 32/46

33 3.4 Métodos O método construtor Construtor por cópia Um construtor por cópia é um construtor que recebe como argumento um objecto do mesmo tipo que o objecto que vai construir, e constrói novo objecto com o mesmo estado do objecto recebido -Um construtor por cópia vai atribuir o valor das variáveis do objecto recebido ao objecto a ser criado:... /* Construtore por cópia */ Conta(Conta c) { numconta = c.numconta; dono = c.dono; quantia = c.quantia;... Os valores variáveis do objecto Conta são Copiados para o novo objecto criado 33/46

34 3.4 Métodos O método construtor Chamada explícita de outros construtores this(); -Um construtor pode fazer uma chamada explícita a outro construtor da classe através de this(); -Se o construtor tiver N parâmetros, estes devem ser passados na chamada explicita this(n1, N2,..) public class Conta { protected long numconta = 0; protected String dono; protected float quantia; Conta() { this("rui", 100); // É o mesmo que conta( Rui, 100); numconta = numconta+50; Conta(String s, float q) { dono = s; quantia = q ; numconta = numconta + 100; public static void main (String[] args){ Conta c1 = mew Conta(); System.out.println(c1.dono + " " + " " + c1.quantia + " " + c1.numconta); Construtor chamado Construtor faz chamada explicita ao outro construtor passando parâmetros -> this (N1, ); Resultado: Rui /46

35 Índice 3.5 Herança Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 35/46

36 3.5 Herança Mecanismo de Herança Permite á subclasse (filho) herdar métodos e variáveis (*) da super classe (pai) -Os qualificadores dos métodos da super classe também são herdados -A sub classe define o que é novo ou diferente -A sub classe estende as funcionalidades da super classe -Todas as classes são extensões da classe object (por omissão) (*) A sub classe herda todas as variáveis e métodos com visibilidade public ou protected, mas não os private das super classes. Funcionalidades da sub classe Os construtores não são métodos portanto não são herdados Só há herança simples de classes. Uma sub classe só pode ter uma super classe. Uma super classe pode ter várias sub classes Funcionalidades da super classe Herança consegue-se recorrendo à palavra reservada extends class MountainBike extends Bicycle { // Colocar aqui novos campos e métodos que definam a MountainBike 36/46

37 3.5 Herança Mecanismo de Herança Construtores em subclasses -> super(). super() permite que na subclasse se façam chamadas explícitas a construtores da super classe. super() ; super(n, N1, ) ; Chamada explícita ao construtor da super classe Chamada explícita ao construtor da super classe se este tiver N parâmetros Se nenhum construtor da superclasse for chamado na sub classe. É implicitamente chamado o contrutor sem argumentos da superclasse. Se a superclasse não tiver um construtor sem argumentos, é necessário chamar explicitamente um construtor da superclasse. 37/46

38 3.5 Herança Mecanismo de Herança Exemplo de chamada implícita e explicita de construtores da superclasse public class A { protected int a; A() { // Construtor a = 5; A(int var) { // Construtor a = var; public class DuplicaA extends A { DuplicaA() { // Construtor a *= 2; DuplicaA(int var) { // Construtor super(var); a *=2; Não é necessário chamar explicitamente super(), pois a super classe tem construtor sem argumentos e é implicitamente chamado. 38/46

39 3.5 Herança Mecanismo de Herança Exemplo de chamada implícita e explicita de construtores da superclasse public class A { protected int numero; A(int num) { // Construtor numero = num; public class B extends A { B() { // Construtor super(-1); B(int num) { super(num); B(int num, String str) { this(num); nome = str; É necessário chamar explicitamente super(), pois a super classe não tem construtor sem argumentos this() pode continuar a ser utilizado para chamar explicitamente o construtor da subclasse. 39/46

40 Índice 3.6 Reescrita de métodos Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 40/46

41 3.6 Reescrita de métodos Reescrita ou overriding de métodos O comportamento de um método da super classe pode não interessar à subclasse. A subclasse pode redefinir o método. Só tem que o re-escrever. -Neste caso os dois métodos (da super e da subclasse ficam disponíveis aos objectos da subclasse) Exemplo da disponibilidade de métodos da super classe: nome () ; super.nome () ; Invoca o método redefinido na subclasse. Invoca o método da super classe. super() permite invocar métodos das super classes 41/46

42 Índice 3.7 Classes abstractas Qualificadores de visualização Classe Objecto Métodos Herança Reescrita de métodos Classes abstractas 42/46

43 3.7 Qualificador abstract Classe abstracta quando reune características comuns a outras classes. Este tipo de classes é demasiado genérico Não pode ser instanciado. -Exemplo. Não faz sentido instanciar a classe veiculo, mas sim criar objectos de automovel, autocarro, moto O qualificador abstract pode ser usado em classes e em métodos. Quando um método é abstract toda a classe é abstract -A definição de um método abstract consiste na definição da sua assinatura, (nome e parâmetros) não tendo instruções. As suas subclasses são obrigadas a definir instruções dos métodos abstract senão terão que ser abstract. -Isto obriga a um mecanismo de condicionamento das subclasses, pois obriga-as a implementar os métodos abstract para serem instanciadas. 43/46

44 3.7 Qualificador abstract Classe abstracta Exemplo figura geométrica Em Java todas as classes são directa ou indirectamente extensões da classe OBJECT. Sempre que uma classe não usa a palavra reservada extends, torna-se uma extensão directa de OBJECT. As suas subclasses serão extensões indirectas de OBJECT OBJECT Classe abstracta Figura Geométrica sub classes: Triangulo Quadrilatero Circulo Pentágono instancias 44/46

45 3.7 Qualificador abstract Classe abstracta Exemplo figura geométrica Implementação da classe abstracta e subclasses Classe abstracta sub classes: abstract class FiguraGeometrica { int x, y;... void movepara(int newx, int newy) {... abstract void dezenha(); abstract void alteratamanho(); class Circulo extends FiguraGeometrica { void dezenha() {... void alteratamanho() {... class Quadrilatero extends FiguraGeometrica { void dezenha() {... void alteratamanho() {... 1 declarar a classe abstracta que providencia variáveis e métodos partilhados por todas as subclasses. Exemplo: Posição corrente (x e y) movepara(),... 2 declarar os métodos abstractos que necessitam de ser implementados por todas as subclasses 3 Cada classe não abstracta como Circulo ou Quadrilatero deverão implementar os métodos abstractos da classe abstracta 45/46

46 FIM 46/46

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 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

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

Capítulo 4. Packages e interfaces

Capítulo 4. Packages e interfaces Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Módulo 07 Características Avançadas de Classes

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Programação Avançada

Programação Avançada Índice 1.1 - Introdução História A plataforma Java 1.2 - Conceitos Fundamentais na programação por objectos Objectos Encapsulamento Classes Herança Polimorfismo Interfaces Pacotes 1/24 1.1 Introdução 1.1

Leia mais

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Programação Orientada a Objetos em Java. Herança

Programação Orientada a Objetos em Java. Herança Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ... Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Tópicos em Engenharia de Computação

Tópicos em Engenharia de Computação Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)

Leia mais

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Construção de novas Classes em Java. Classes Atributos Métodos Herança... Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

Apostila de. Programação Orientada a Objeto (POO)

Apostila de. Programação Orientada a Objeto (POO) Apostila de Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti Revisão: Janeiro de 2014 Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti 1) Classes e Objetos Classe

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language) Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2 Modelo O desenvolvimento de programas

Leia mais

Capítulo 5 Reuso de Classes

Capítulo 5 Reuso de Classes Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

AULA DE JAVA 1 - CONCEITOS BÁSICOS

AULA DE JAVA 1 - CONCEITOS BÁSICOS AULA DE JAVA 1 - CONCEITOS BÁSICOS DAS 5316 Integração de Sistemas Corporativos Roque Oliveira Bezerra, M. Eng roque@das.ufsc.br Prof. Ricardo J. Rabelo ROTEIRO Introdução Fases de um programa Java Strings

Leia mais

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3) pg. 1/6 Material de Apoio 5 Herança Observe o código das classes Fatorial e Fibonacci apresentados abaixo. class Fatorial { class Fibonacci { private int n, res; private int n, res; public Fatorial( int

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,

Leia mais

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas Introdução Programação Orientada a Objetos: Reuso Alexandre César Muniz de Oliveira Hierarquia de classes está associada a forma como se distribui conceitos (comportamentos) entre as unidades que compõem

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

FACULDADE PITÁGORAS DE UBERLÂNDIA PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA LISTA DE EXERCÍCIOS (Compilação) Versão 2.0

FACULDADE PITÁGORAS DE UBERLÂNDIA PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA LISTA DE EXERCÍCIOS (Compilação) Versão 2.0 1) Escreva uma classe Conta que contenha o nome do cliente, o numero da conta, o saldo e o limite.estes valores deverão ser informados no construtor, sendo que o limite não poderá ser maior que o valor

Leia mais

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Aula 3 Objeto atual com referencia THIS e Classes com Herança

Aula 3 Objeto atual com referencia THIS e Classes com Herança Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:

Leia mais

Java TM e o Modelo de Objetos

Java TM e o Modelo de Objetos Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes (jorge@dimap.ufrn.br) DIMAp-UFRN Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Programação por Objectos UML LEEC@IST UML 1/87

Programação por Objectos UML LEEC@IST UML 1/87 Programação por Objectos UML LEEC@IST UML 1/87 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo

Leia mais

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de

Leia mais

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas Programação com Objectos Processamento de Dados I 4. Classes Abstractas 1 Conceito de classe abstracta Declaração de uma classe abstracta Implicações e características das classes abstractas Utilização

Leia mais

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2 Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e- mails: bcc221- decom@googlegroups.com

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Orientação a Objetos e a Linguagem Java

Orientação a Objetos e a Linguagem Java Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Reutilizição com Herança e Composição Novembro/2006 2 Introdução Separar as partes que podem mudar das partes que

Leia mais

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 8 Classes Internas 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

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Capítulo 2. Fundamentos de Java

Capítulo 2. Fundamentos de Java Capítulo 2. Fundamentos de Java 1/52 Índice 2.1 - Variáveis Tipos Escopo Inicialização Casting Literais 2.2 - Operadores Aritméticos Relacionais Bit a Bit De atribuição 2.3 - Expressões, statements e blocos

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Implementação de Classe e Auto-Relacionamento em Java

Implementação de Classe e Auto-Relacionamento em Java UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados

Leia mais

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.

Leia mais

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo

Leia mais

Lição 9 Trabalhando com bibliotecas de classes

Lição 9 Trabalhando com bibliotecas de classes Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus

Leia mais

Programação por Objectos UML MEEC@IST UML 1/83

Programação por Objectos UML MEEC@IST UML 1/83 Programação por Objectos UML MEEC@IST UML 1/83 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo

Leia mais

Disciplina: Programação III Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70

Disciplina: Programação III Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70 3.7 TRABALHANDO COM CLASSES E OBJETOS Origem: Capítulo 3 Introdução a classes e Objetos. Livro: Java Como Programar, Deitel & Deitel,

Leia mais

Keeper of Knowledge. Capítulo 2 Classes em Java

Keeper of Knowledge. Capítulo 2 Classes em Java Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais