Orientação a Objetos em Java. LPGII - Java. Orientação a Objetos em Java. Definição de classes. Membros de Classe
|
|
- Manoela Botelho Antunes
- 8 Há anos
- Visualizações:
Transcrição
1 Orientação a Objetos em Java LPGII - Java Orientação a Objetos em Java Roberto Vedoato vedoato@joinville.udesc.br Definição de classes Criação de objetos Herança Polimorfismo Ligação Dinâmica Uso de Bibliotecas (packages) Compatibilidade entre classes (casting) Operador instance of Modificadores: final, static e abstract Interfaces Orientação a Objetos em Java 2 Definição de classes Classe é o único meio de criar novos tipos de dados Formato geral de classe: class nome { // declaração de atributos (campos do objeto) //definição de métodos (funções/comportamento) Membros de Classe Variáveis de instância definem a estrutura dos objetos derivados da classe podem ser de tipo ples ou derivado de outra classe Variáveis de classe (static) compartilhada por todos os objetos da classe são alocadas quando a classe é carregada Constantes (final) Métodos funções/procedimentos que implementam o comportamento dos objetos da classe; Construtor método especial para criar objetos; Orientação a Objetos em Java 3 Orientação a Objetos em Java 4
2 Exemplo Modificadores de Acesso class Circulo { float xpos, ypos, raio; // variáveis de instância static int numcirc; // variável de classe void deforigem (float x, float y) // métodos { xpos = x; ypos = y ; void defraio ( float r) { raio = r ; float calcarea ( ) { return * raio * raio ; membros de classe podem ter restrição de acesso private, protected, public estabelecida por atributos de visibilidade public - sem restrições acessível em qualquer classe protected acessível na própria classe e nas classes filhas private acessível apenas na própria classe classes devem ser declaradas public ou protected Orientação a Objetos em Java 5 Orientação a Objetos em Java 6 Exemplo Criação de Objetos class Circulo { private float xpos, ypos, raio; // variáveis de instância public void deforigem (float x, float y) // métodos { xpos = x; ypos = y ; public void defraio ( float r) { raio = r ; public float calcarea ( ) { return * raio * raio ; Objetos são instâncias de classe, alocados dinamicamente Saõ criados através do operador new que chama o construtor da classe Construtor aloca espaço de memória para objeto Variáveis do tipo classe são ponteiros para objetos da classe Exemplo class Circulo { ; // declara classe Circulo circ ; // declara variável do tipo da classe circ = new Circulo( ); // cria objeto circ.deforigem (1.5, 2.0); // envia mensagem Orientação a Objetos em Java 7 Orientação a Objetos em Java 8
3 Construtores Servem para criar e iniciar novos objetos Construtor aloca memória (e inicia), não retorna valor Valores para iniciar são passados como parâmetros Uma classe pode ter um ou mais construtores de objetos São declarados com o mesmo nome da classe Construtores devem ser definidos como public Caso não haja um construtor explícito Java executa o construtor pai por padrão Orientação a Objetos em Java 9 Exemplo class Circulo { // atributos de instância private float xpos,ypos,raio; // construtores public Circulo ( ) { xpos = 0; ypos = 0; radius = 0 ; public Circulo (float x, float y, float r) {xpos = x; ypos = y; radius = r ; // método public float calcarea ( ) { return * raio * raio ; Orientação a Objetos em Java 10 Exercício Sobrecarga de Construtor Herança Considere a classe abaixo, teste a criação de objetos com os três construtores, imprima na tela os valores dos atributos e explique os resultados class Exemplo04 { int x, y; public Exemplo04(int num1) { x = num1; y = num1 * 2; public Exemplo04(int num1, num2) { x = num1; y = num2; public static void main (String args[ ]) { Exemplo04 obj1 = new Exemplo04(); System.out.println( x = + obj1.x); System.out.println( y = + obj1.y); Exemplo04 obj2 = new Exemplo04(2); System.out.println( x = + obj2.x); System.out.println( y = + obj2.y); Exemplo04 obj3 = new Exemplo04(2,5); System.out.println( x = + obj2.x); System.out.println( y = + obj2.y); Orientação a Objetos em Java 11 Java implementa herança ples Object é a classe raiz de todas as classes, fornece o comportamento básico de todas as classes Todas as classes do usuário são obtidas por especialização de classes do ambiente Java Subclasse herda os componentes da superclasse pode adicionar novos componentes; não pode remover definições da superclasse pode redefinir métodos Object classes de biblioteca classes de usuário Orientação a Objetos em Java 12
4 Definição de Subclasses Redefinindo Métodos Superclasse deve ser indicada na declaração da classe Exemplo: class Frame extends Window {... public class Square { double lado; public double area ( ) Square Superclasse omitida na declaração da classe significa que a classe é subclasse direta de Object Exemplo: class Circulo {... { return lado*lado ; lado area() Método redefinido em subclasse redeclaração esconde componente herdado super traz o componente herdado de volta ao escopo public class Rectangle extends Square { double altura; public double area ( ) { return lado*altura ; Rectangle altura area() Orientação a Objetos em Java 13 Orientação a Objetos em Java 14 Chamada a Métodos Chamada a Métodos da Superclasse chamada de método (envio de mensagem) <nome_objeto>. <nome_método> ( <params> ) Quando método é prefixado com super, a procura inicia na superclasse imediata à classe que contém o método Exemplo de chamada a método de instância: class Janela extends Frame {... // define classe Janela tela1 = new Janela( ); // declara e cria objeto tela1.show( ); // envia mensagem class Janela extends Frame { void paint( ); {... super.paint( );... Frame paint() Janela paint() Orientação a Objetos em Java 15 Orientação a Objetos em Java 16
5 Chamada a Métodos da Superclasse Dentro de um método, this identifica o próprio objeto para o qual a mensagem foi enviada class Cilindro { float xpos, ypos, raio, altura; public float calcarea ( ) { return * raio * raio ; public float calcvolume ( ) { return this.calcarea() * altura ; Sobrecarga class Base { int i = 1; String teste() { return "Base"; class Derivada extends Base { int i = 2; String teste() { return "Derivada"; Base int i=1; String teste() Derivada int i=2; String teste() Orientação a Objetos em Java 17 Orientação a Objetos em Java 18 Exercício Encadeamento de Construtores Crie a aplicação TesteHerança. Quais serão os resultados? class TesteHeranca { public static void main (String arg[]) { Base base = new Base(); Derivada derivada = new Derivada(); Base basederivada = new Derivada(); int x = base.i; int y = derivada.i; int z = basederivada.i; String xfun = base.teste(); String yfun = derivada.teste(); String zfun = basederivada.teste(); System.out.println("Teste de Herança"); System.out.println( Atributos = "+x+" - "+y+" - "+z); System.out.println("Metodos = "+xfun+" - "+yfun+" - "+zfun); Teste de Herança Atributos = Metodos = Base - Derivada - Derivada Orientação a Objetos em Java 19 Um construtor pode chamar outro construtor, isto se chama encadeamento de métodos construtores Caso não haja um construtor explícito Java prove um construtor padrão Primeiro comando de construtor é uma chamada a outro construtor da mesma classe por this ( ) da superclasse por super ( ) Construtor que não contém tal chamada, inclui implicitamente chamada super ( ) uma cadeia completa de construtores é chamada até a raiz Orientação a Objetos em Java 20
6 Exercício class SuperClasse { SuperClasse() { System.out.println("Construtor SuperClasse"); void teste() { System.out.println("Metodo SuperClasse"); class SubClasse extends SuperClasse { SubClasse() { System.out.println("Construtor SubClasse"); Exercício Crie a aplicação TesteHerança2. Qual é o resultado? class TesteHeranca2 { public static void main (String arg[]) { System.out.println( Teste de Heranca 2 ); Subclasse sub = new Subclasse(); sub.teste(); void teste() { System.out.println("Metodo SubClasse"); Orientação a Objetos em Java 21 Orientação a Objetos em Java 22 Curiosidades sobre Construção de Objetos Seqüência de execução na chamada de um construtor 1. Inicialização default de campos de dados (0, null, false) 2. Chamada recursiva ao construtor da superclasse (até Object) 2.1 Inicialização default dos campos de dados da superclasse (recursivo, subindo a hierarquia) 2.2 Inicialização explicita dos campos de dados 2.3 Execução do conteúdo do construtor (a partir de Object, descendo a hierarquia) 3. Inicialização explícita dos campos de dados 4. Execução do conteúdo do construtor Orientação a Objetos em Java 23 Curiosidades sobre Construção de Objetos Evite chamar métodos locais dentro de construtores Construtor (qualquer um da hierarquia) sempre usa versão sobreposta do método Isto pode trazer resultados inesperados se alguém estender a sua classe com uma nova implementação do método que Dependa de variáveis da classe estendida Chame métodos em objetos que ainda serão criados (provoca NullPointerException) Dependa de outros métodos sobrepostos Use apenas métodos finais em construtores Métodos declarados com modificador final não podem ser sobrepostos em subclasses Orientação a Objetos em Java 24
7 Destruição de Objetos Curiosidades sobre Destruição de Objetos Java desaloca objetos através do garbage collector Referência a objeto pode ser removida atribuindo a null memória alocada para objeto não é liberada de imediato Garbage colletor executa em baixa prioridade Desejando-se realizar outras ações associadas à destruição de objetos (exemplo: fechar arquivos): método finalize finalize chamado pelo garbage collector antes do objeto ser destruído void finalize ( ) {... Objetos são destruídos automaticamente pelo garbage colector quando perdem sua referência, porém, o sistema garbage colector não faz finalização Método finalize(), herdado de Object, teoricamente permite ao programador controlar a finalização de qualquer objeto finalize() não funciona 95% das vezes - não use! Se precisar de finalização, coloque seu código em um bloco try {... finally {... Orientação a Objetos em Java 25 Orientação a Objetos em Java 26 O Uso de Bibliotecas Modificadores de Acesso As classes Java são agrupadas em pacotes O pacote padrão é: java.lang Classes que pertencem a outros pacotes devem ser importadas O comando import carrega arquivos.class Exemplos de importação import java.awt.rectangle; import java.awt.*; Orientação a Objetos em Java 27 Acesso dentro do package onde a classe foi declarada Modificador Herança (métodos) Acessível (atributos e métodos) default public protected private não não Acesso fora do package onde a classe foi declarada Modificador Herança (métodos) Acessível (atributos e métodos) default não não public protected private não não Orientação a Objetos em Java 28
8 Modificadores de Acesso - Exercício Compatibilidade de Classes Crie uma classe pai, ClassePai, com atributos (a,b) e métodos (alteraa, alterab), privados (a, alteraa) e públicos (b, alterab). Crie uma classe filha, ClasseFilha, que possua métodos para tentar: Ler o atributo a e o atributo b Alterar o atributo a e o atributo b Chamar o método alteraa e o método alterab Verifique se é verdadeira a afirmação de que métodos e atributos privados não são herdados. Observação: não utilize super um objeto pode ser atribuído a qualquer objeto da mesma classe ou de superclasse Figura f1, f2; f1 = new Figura(); f2 = f1 ; Retangulo r = new Retangulo (); f1 = r ; // é possível? r = f2; // é possível? Object Figura Retangulo RoundRet Elipse Orientação a Objetos em Java 29 Orientação a Objetos em Java 30 Compatibilidade de Classes - Exemplo Operador instanceof Retangulo ret = new Retangulo( ); Figura fig = new Figura ( ); Object obj = new Object ( ); RoundRet round = new RoundRet ( ); Elipse eli = new Elipse ( ); fig = eli; obj = round; ret = fig; // erro de compilação fig = new Retangulo( ); ret = (Retangulo) fig; // casting torna atribuição correta Object Figura Retangulo RoundRet Elipse Operador para investigar a classe de um objeto Resulta true se o objeto é da classe ou de subclasse <objeto> instanceof <classe> Exemplo: Figura[] fig = new Figura[3]; fig[0] = new Retangulo( ); fig[1] = new Elipse( ); fig[2] = new RoundRect( ); fig[0] instanceof Figura // retorna true fig[2] instanceof Retangulo //retorna true fig[1] instanceof Retangulo //retorna false Orientação a Objetos em Java 31 Orientação a Objetos em Java 32
9 Exercício 1. Escreva uma classe Ponto contém x e y que podem ser definidos em construtor métodos getx() e gety() que retornam x e y métodos setx(int) e sety(int) que mudam x e y 2. Escreva uma classe Circulo, que contenha raio inteiro e origem Ponto construtor que define origem e raio método que retorna a área método que retorna a circunferência use java.lang.math.pi (Math.PI) 3. Crie um segundo construtor para Circulo que aceite um raio do tipo int e coordenadas x e y Modificadores Modificadores funcionam como delimitadores de características Final Static Abstract Orientação a Objetos em Java 33 Orientação a Objetos em Java 34 Modificador Final Variáveis final são constantes, não podem ser modificadas Exemplo: final double PI = ; Métodos final não podem ser redefinidos nas subclasses Classes final não podem ser especializadas todos os métodos são considerados final Exemplo: final float Consulta(String num) {... Modificador Static Uma classe pode conter membros de classe (atributos e métodos), sendo compartilhados por todos os objetos daquela classe alocados quando a classe é carregada Podem ser acessados diretamente, sem necessidade da existência de um objeto. Exemplos: NomedaClasse.variavelestatica = 12; NomedaClasse.metodoestatico; Métodos estáticos podem referenciar apenas métodos estáticos e não podem referenciar operadores this e super Orientação a Objetos em Java 35 Orientação a Objetos em Java 36
10 Modificador Static Exemplo: class Pessoa { static int numpessoas = 0; int id; Pessoa () { id = numpessoas; numpessoas++;... Pessoa p1 = new(pesssoa); p1.numpessoas++; // mesmo efeito que abaixo Pessoa.numpessoas++; Static Initializer Para iniciar variáveis de classe, inicializers são executados automaticamente na carga da classe Exemplo: static double[] sin256 = new double [256]; static { for (int i=0; i <256; i ++) sin256[i] = Math.sin ( i/256*2math.pi); Não é função, não tem argumentos Uma classe pode ter vários static initializers, sendo executados na ordem em que aparecem Orientação a Objetos em Java 37 Orientação a Objetos em Java 38 Perguntas Porque um método estático não pode referenciar elementos que não sejam estáticos? Em que situação um método final pode ser útil? Modificador Abstract Indica classe ou método abstrato, com o objetivo de definir generalizacões especializar em subclasses classe abstrata: pelo menos um método abstrato método abstrato: sem corpo, apenas assinatura Exemplos: public abstract class Number (superclasse de Integer, Double, Float) public abstract int intvalue() public abstract float floatvalue() public abstract double doublevalue() Orientação a Objetos em Java 39 Orientação a Objetos em Java 40
11 Modificador Abstract Classes abstratas definem protocolos para hierarquia, fornecendo apenas modelos de comportamento representam generalizações contém pelo menos um método abstrato Métodos abstratos método sem corpo (sem implementação, apenas assinatura) representa comportamento comum a todas subclasses, mas com distinta implementação em cada subclasse métodos abstratos são implementados em subclasses Modificador Abstract Classe contendo método abstrato não pode ser instanciada Construtores e métodos private ou static não podem ser declarados como abstract Declaração de classes e métodos abstratos: abstract public class <nome_classe> { // pelo menos um método abstrato... abstract public <tipo_retorno > <nome_método > ( ) ; Orientação a Objetos em Java 41 Orientação a Objetos em Java 42 Interfaces Classe na qual todos os métodos são abstratos coleção de métodos abstratos Simula herança múltipla Constituem-se, estritamente, em modelos de comportamento Não podem ser instaciadas Variáveis não podem ser herdadas de uma Interface Todos os métodos de interface devem ser publicos e abstratos Uma classe implementa uma interface quando indicada pela palavra implements Uma classe pode implementar várias interfaces Hierarquia de interface não é relacionada com a hierarquia de classes Interfaces Exemplo public class Printer// classe concreta {... public interface Copier { public void copydoc (Doc d ) ; public interface Fax { public void transmitdoc (Doc d ) ; Public class MultiFunctionPrinter extends Printer implements Copier, Fax { public void copydoc (Doc d) { // implemta concreta public void transmitdoc (Doc d) {//implemta concreta Orientação a Objetos em Java 43 Orientação a Objetos em Java 44
12 Interfaces Perguntas Uma classe que implementa uma interface não herda, apenas promete implementar os métodos definidos na interface (implements) O modificador abstract não deve ser usado na declaração dos métodos Vantagem do uso de interfaces: definição de protocolos para classes abstratas sem se preocupar com detalhes de implementação compartilhar uma mesma interface com várias classes ular herança múltipla Interfaces podem ser especializadas? Interfaces formam hierarquias independentes? São derivadas da classe Object? Orientação a Objetos em Java 45 Orientação a Objetos em Java 46 Classes Abstratas X Interfaces Questões semânticas Quando usar uma ou outra Exemplo: Célula de uma planilha Deve manipular tipos como String, Float, Data, etc... Possíveis soluções: Definir métodos no ancestral comum Criar um novo ancestral e redefinir tipos presentes na célula da planilha. Interfaces: Melhor solução Orientação a Objetos em Java 47
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 maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisClasses 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 maisProgramaçã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 maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisClasse Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Objetos e Classes Programação Orientada ao Objeto O paradigma da Orientação ao Objeto é um mecanismo que ajuda a definir
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia maisVamos imaginar que queremos projetar um jogo em que haja diferentes personagens:
Interfaces Interfaces Interfaces padronizam como coisas, pessoas ou sistemas podem interagir Por exemplo, os controles de um rádio: interface entre o usuário e os componentes internos do rádio Interfaces
Leia maisProgramaçã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 maisEncapsulamento 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 joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do
Leia maisEx: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisProgramação Orientada a Objetos em Java
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Classes e Objetos, Construtores e Desconstrutores, Atributos e
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisHerança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisHerança. Prof. Leonardo Barreto Campos 1
Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisJava 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 maisNum programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
Leia maisProgramação Orientada a Objeto Java
Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisção a Objetos em Java
Uso de Orientaçã ção a Objetos em Java Objetos e Mensagens Objetos em Java Principais classes Containers Um pouco de história... Variáveis como elementos isolados int dia, mes, ano; Fácil compreensão,
Leia maisProgramação Orientada a Objetos Flávio de Oliveira Silva 144
HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são
Leia maisLinguagem 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 maisLista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204
Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Exercício 1: Descreva algumas diferenças básicas entre programação estruturada e programação orientada a objetos. Exercício 2: Para que
Leia maisProgramaçã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 maisORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO HERANÇA A sintaxe de herança a para C++ e para Java são diferentes. Além m disso, em C++ é possível construir herança a múltipla...
Leia maisEsta 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 maisLinguagem 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 maisHerança e Classes Abstratas. João Paulo Q. dos Santos
Herança e Classes Abstratas João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Herança; Sobrescrita(sobreposição) de métodos; Herança e construtores; Conceitos sobre classes abstratas;
Leia maisConceitos 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 maisProgramaçã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 maisLinguagem de Programação. Diagrama de classes
Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um
Leia maisA B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
Leia maisEspecificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Leia maisVejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa
Palavra reservada this Em Java podemos ter um parâmetro de um método e um atributo de uma classe com o mesmo nome. Caso façamos uma referência a esta variável, pelo princípio da localidade estaremos referenciando
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:
Leia maisLição 11 Herança, polimorfismo e interfaces
Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisOrientação a Objetos (em Java)
Orientação a Objetos (em Java) Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Programação Estruturada Composição dos Programas Um programa écomposto por
Leia maisJava 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 maisProf. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1
INE5603 Introdução à POO Prof. A. G. Silva 30 de outubro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de 2017 1 / 1 Especialização de classes (I) (Cap. 6) Operações de abstração como
Leia maisNotas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisAlgoritmos 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 maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes
Leia maisUNIFEI Disciplina Professor
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO02 Enganharia de Software II Enzo Seraphim Nota de aula de Java Encapsulamento
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisSistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26
Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
6 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisQuando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisextendsé usado para indicar herança em JAVA
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando extendsé usado para indicar herança em JAVA class ClasseA{ protected int a; public int geta()
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisHerança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1
Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores
Leia maisAula 9 Herança. Prof. Jefersson Alex dos Santos
Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária
Leia maisParadigmas 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 maisLinguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisIntroduçã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 maisProgramação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1.ado o seguinte código: class valiacao { Qual fragmento de código irá compilar? a) class Prova extends valiacao { b)
Leia maisJava na Prática. Célio Silva Aula 3
Java na Prática Célio Silva Aula 3 Java na Prática Collections List List são listas de coisa ordenadas/não ordenadas, com duplicações permitidas e com um índice Servem para encapsular código de tratamento
Leia maisInterface gráfica em Java: Swing e SWT
Programação Orientada a Objetos Interface gráfica em Java: Swing e SWT UNIFEI 14/06/2012 Componentes gráficos em Java Os componentes gráficos em Java Componentes de desenho 2D e 3D Componentes de interface
Leia maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisClasses e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010
Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisOrientação a Objetos (em Java)
Orientação a Objetos (em Java) Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.2/es1 Programação Estruturada Composição dos Programas Um programa écomposto por
Leia maisOrientação a Objetos
Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No
Leia maisProgramaçã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 maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisAvançando em Java com Polimorfismo. Prof.: Hugo Barros
Avançando em Java com Polimorfismo Prof.: Hugo Barros Tópicos da Aula Polimorfismo: Exemplos de polimorfismo Vantagens do polimorfismo Tipos de polimorfismo Métodos Abstratos Classes Abstratas Vinculação
Leia mais