Linguagens de Programação Aula 12
|
|
- Ayrton Eger de Caminha
- 7 Há anos
- Visualizações:
Transcrição
1 Linguagens de Programação Aula 12 Celso Olivete Júnior
2 Na aula passada Implementando subprogramas 2
3 Na aula de hoje Suporte para a programação orientada a objetos 3
4 Roteiro Introdução Programação orientada a objetos Questões de projeto para programação orientada a objetos Suporte para programação orientada a objetos em C++ Suporte para programação orientada a objetos em Java Implementação de construções orientadas a objetos 4
5 Introdução Muitas linguagens de programação orientadas a objeto Algumas suportam programação procedural e orientada a objetos (por exemplo, Ada 95 e C++) Linguagens mais novas não suportam outros paradigmas, mas usam suas estruturas imperativas (por exemplo, Java e C#) Algumas são linguagens de programação orientadas a objetos puras (por exemplo, Smalltalk e Ruby) 5
6 Programação orientada a objeto Uma linguagem orientada a objetos deve fornecer suporte aos três recursos chave de linguagem: 1. Tipos de dados abstratos Inclui apenas a representação de dados de um tipo de dados específico e os subprogramas que fornecem as operações para esse tipo. Exemplo: classe 2. Herança Herança é o tema central da programação orientada a objetos e das linguagens que a suportam 3. Vinculação dinâmica de chamadas a métodos Polimorfismo 6
7 Evolução do paradigma Procedural 1950 a 1970: Abstração procedural. Orientada a dados início dos anos 80: Orientada a dados. POO final dos anos 80: Herança e binding dinâmico. 7
8 Origem da herança anos 80 Aumento de produtividade pode ocorrer com o reuso Tipos de dados abstratos são difíceis de reusar sempre precisam de mudanças Definições de tipos de dados abstratos são todas independentes e no mesmo nível Herança permite novas classes definidas nos termos das já existentes 8
9 Conceitos de orientação a objetos Tipos de dados abstratos são geralmente chamados de classes Instâncias de classes são objetos 9
10 Conceitos de orientação a objetos Uma classe derivada por meio de herança de outra classe é uma classe derivada ou uma subclasse A classe da qual a nova classe é derivada é sua classe pai ou superclasse 10
11 Conceitos de orientação a objetos Subprogramas que definem as operações em objetos de uma classe são chamados de métodos 11
12 Conceitos de orientação a objetos (cont...) Chamadas aos métodos são mensagens Ex: objpessoa.registrar(); A coleção completa de métodos de um objeto é chamada de protocolo de mensagens ou interface de mensagens Mensagens têm duas partes: objeto e um nome de método Se uma nova classe é uma subclasse de uma única classe pai, então o processo de derivação é chamado de herança simples 12
13 Conceitos de orientação a objetos (cont...) A herança pode ser complicada por controles de acesso às entidades encapsuladas Uma classe pode esconder entidades de suas subclasses Uma classe pode esconder entidades de seus clientes Uma classe também pode ocultar entidades para seus clientes, mas permitir às suas subclasses vê-los Uma classe pode modificar um método herdado O novo método sobrescreve o método herdado Este, então, é chamado de método sobrescrito 13
14 Conceitos de orientação a objetos (cont...) Há dois tipos de variáveis: Variáveis de classe Variáveis de instância Há dois tipos de métodos: Métodos de classe Métodos de instância 14
15 Conceitos de orientação a objetos (cont...) Herança simples herança múltipla Uma desvantagem da herança como uma forma de aumentar a possibilidade de reuso é que ela cria dependências entre classes em uma hierarquia 15
16 Vinculação dinâmica Terceiro recurso chave de uma LP: polimorfismo Uma variável polimórfica pode ser definida em uma classe que é capaz de referenciar (ou apontar) os objetos da classe e objetos de qualquer dos seus descendentes O Polimorfismo permite que diferentes objetos (avião, barco, automóvel) respondam uma mesma mensagem (mover) de formas diferentes (voar, navegar e correr). 16
17 Vinculação dinâmica Terceiro recurso chave de uma LP: polimorfismo Quando uma hierarquia de classe inclui as classes que sobrescrevem métodos e esses métodos são chamados por uma variável polimórfica, a ligação para o método correto será dinâmica O Polimorfismo permite que diferentes objetos (avião, barco, automóvel) respondam uma mesma mensagem (mover) de formas diferentes (voar, navegar e correr). 17
18 Conceitos de vinculação dinâmica Um método abstrato é um que não inclui uma definição (apenas define um protocolo) Subprograma sem o corpo Subclasse que herdar esse método abstrato é a responsável por definir o corpo Uma classe abstrata inclui pelo menos um método virtual. Um classe abstrata não pode ser instanciada Uma classe abstrata serve de molde para outras classes Geralmente apresenta métodos incompletos, o que pode ser sobrescrito na classe filha 18
19 Exemplo de classe abstrata Java public abstract class Funcionario { public string Nome; public decimal Salario; public abstract void Reajustar();... public class Programador extends Funcionario { public void Reajustar() //implementação o método abstrato { Salario += 1000; 19
20 Objetivos da vinculação dinâmica Permitir que os sistemas de software sejam melhor entendidos durante o desenvolvimento e a manutenção. 20
21 Questões de projeto 1. A exclusividade dos objetos 2. As subclasses são subtipos? 3. Verificação de tipos e polimorfismo 4. Herança simples e múltipla 5. Alocação e liberação de objetos 6. Vinculação estática e dinâmica 7. Classes aninhadas 8. Inicialização de objetos 21
22 1. A exclusividade dos objetos Tudo é um objeto Vantagem - elegância e pureza Desvantagem - operações lentas para objetos simples (troca de mensagens) 22
23 2. As subclasses são subtipos? Um relacionamento é-um(a) se mantém entre uma classe derivada e sua classe pai? Se uma classe derivada é um(a) classe pai, então os objetos da classe derivada devem expor todos os membros que são expostos por objetos da classe pai Uma classe derivada é um subtipo se tiver um relacionamento é-um(a) com sua classe pai Os métodos da subclasse que sobrescrevem métodos da classe pai devem ser compatíveis em relação ao tipo com seus métodos sobrescritos correspondentes 23
24 3. Verificação de tipos e polimorfismo O polimorfismo pode exigir uma verificação de tipo dinâmico de parâmetros e o valor de retorno Verificação de tipos dinâmica custa tempo de execução e posterga a detecção de erros de tipo Se o método sobrescrevedor tiver o mesmo número de tipos de parâmetros e de retorno do que o método sobrescrito, a verificação pode ser estática 24
25 4. Herança simples e múltipla Herança múltipla permite uma nova classe herdar de duas ou mais classes Desvantagens de herança múltipla: Complexidade de linguagem e implementação Potencial ineficiência Vantagem: Às vezes, é bastante conveniente 25
26 5. Alocação e liberação de objetos Local onde os objetos são alocados? Se eles se comportam como tipos de dados abstratos, então talvez eles possam ser Código Dados Estáticos Heap alocados de qualquer lugar Alocados da pilha de tempo de execução Explicitamente criados no monte com Pilha um operador ou função, como new 26
27 5. Alocação e liberação de objetos Local onde os objetos são alocados? Se eles são todos dinâmicos do monte, existe a vantagem de ter um método de criação e acesso uniforme por meio de ponteiros ou variáveis de referência Código Dados Estáticos Heap Se os objetos são dinâmicos da pilha, existe um problema relacionado aos subtipos. Exemplo: se a classe B é filha da classe A e B é um subtipo de A, um objeto do tipo B pode ser atribuído a variável Pilha do tipo A. A liberação é explícita ou implícita? 27
28 6. Vinculação estática e dinâmica Todas as vinculações de mensagens a métodos são dinâmicas? Todas as mensagens para métodos deveriam ser dinâmicas 28
29 7. Classes aninhadas Se uma nova classe é necessária em apenas uma classe, não há razão para defini-la de forma que possa ser vista por outras classes Pode a nova classe ser aninhada dentro da classe que a usa? Em alguns casos, a nova classe está aninhada em um subprograma, em vez de em outra classe Questões de projeto: Quais recursos da classe aninhadora são visíveis para a classe aninhada e vice-versa? 29
30 7. Classes aninhadas Exemplo Definição: classes internas (aninhadas) são classes dentro de classes. Vantagens: agrupar classes que são usadas somente em um lugar. aumenta o encapsulamento. classes aninhadas podem tornar o código mais legível e fácil de consertar. class Aninhadora{... class Aninhada{... 30
31 7. Classes aninhadas Uma classe aninhada é um membro que está envolvendo uma classe e, como tal, tem acesso a outros membros da classe envolvida, mesmo que eles sejam declarados privados aumenta o encapsulamento class Aninhadora{... static class AninhadaEstatica {... class AninhadaNaoEstatica {... 31
32 7. Classes aninhadas São divididas em duas categorias: estáticas e não estáticas Classes aninhadas que são declaradas static são simplesmente chamadas static nested classes (classes aninhadas estáticas). Classes aninhadas não estáticas são chamadas inner classes (classes internas). class Aninhadora{... static class AninhadaEstatica {... class AninhadaNaoEstatica {... 32
33 7. Classes aninhadas estáticas Classes aninhadas estáticas são acessadas usando o nome da classe envolvida: Aninhadora.AninhadaEstatica class Aninhadora{... static class AninhadaEstatica {... class AninhadaNaoEstatica {... 33
34 7. Classes aninhadas estáticas Para criar um objeto para a classe aninhada estática Aninhadora.AninhadaEstatica objaninhado = new Aninhadora.AninhadaEstatica(); class Aninhadora{... static class AninhadaEstatica {... class AninhadaNaoEstatica {... 34
35 8. Inicialização de objetos Quando um objeto de uma subclasse é criado, a inicialização associada do membro herdado da classe pai é implícita ou o programador deve lidar explicitamente com ela? 35
36 Suporte para programação orientada a objetos em C++ Características gerais: Evolui de C e SIMULA 67 Está entre as linguagens de programação orientadas a objeto mais usadas Sistema de tipos misto Construtores e destrutores Elabora os controles de acesso para entidades de classe 36
37 Suporte para programação orientada a objetos em C++ Herança Uma classe não precisa ser a subclasse de alguma classe Controles de acesso aos membros podem ser private (visível apenas na classe e amigos ). public (visível nas subclasses e clientes). protected (visível na classe a nas subclasses). 37
38 Suporte para programação orientada a objetos em C++ Adicionalmente, o processo de subclasses pode ser declarado com controles de acesso (privado ou público), que define potenciais mudanças no acesso a subclasses Derivação privada herança pública e membros protegidos são privados nas subclasses Derivação pública membros protegidos são também públicos e protegidos nas subclasses 38
39 Suporte para programação orientada a objetos em C++ Exemplo class classe1 { private: int a; float x; protected: int b; float y; public: int c: float z; ; class subclasse1: public classe1 {... b e y: protegidos c e z: públicos a e x: inalcançáveis class subclasse2: private classe1 {... b, c, y e z: privados a e x: inalcançáveis 39
40 Reexportação em C++ Um membro que não é acessível em uma subclasse (por causa da derivação privada) pode ser declarado para ser visível usando um operador de resolução de escopo (::), por exemplo, class classe1 { private: int a; float x; protected: int b; float y; public: int c: float z; ; Instâncias de subclasse3 podem acessar c class subclasse3: private classe1 { classe1 :: c; //c passa ser público Operador de resolução de escopo especifica a classe onde a entidade seguinte é definida 40
41 Reexportação (cont...) Uma motivação para usar derivação privada Uma classe fornece membros que devem ser visíveis, então eles são definidos para serem membros públicos. Uma classe derivada adiciona alguns novos membros, mas não quer que seus clientes vejam os membros da classe pai, mesmo que tivessem de ser públicos na definição da classe pai 41
42 Suporte para programação orientada a objetos em C++ (cont...) Herança múltipla é suportada Se houver dois membros herdados com o mesmo nome, ambos podem ser referenciados usando o operador de resolução de escopo 42
43 Suporte para programação orientada a objetos em C++ (cont...) Vinculação dinâmica Um método pode ser definido para ser virtual, o que significa que pode ser chamado por meio de variáveis polimórficas e vinculação dinâmica a mensagens Um função virtual pura não tem corpo e não pode ser chamada Qualquer classe que inclua uma função virtual pura é uma classe abstrata 43
44 Suporte para programação orientada a objetos em C++ (cont...) Avaliação C++ fornece herança múltipla Em C++, o programador deve decidir em tempo de design que métodos serão estaticamente vinculados e que deve ser dinamicamente vinculado Vinculação estática é mais rápida! 44
45 Suporte para programação orientada a objetos em Java O projeto de classes, herança e métodos em Java é similar ao de C++ Características gerais Todos os dados são objetos, exceto valores dos tipos primitivos escalares Todos os objetos em Java são dinâmicos do monte explícitos. A maioria é alocada com o operador new, mas não existe um operador de liberação explícito Um método finalize é implicitamente chamado quando o coletor de lixo está prestes a recuperar o armazenamento ocupado pelo objeto 45
46 Suporte para programação orientada a objetos em Java (cont...) Herança Java suporta diretamente apenas herança simples, mas um tipo de classe abstrata, chamada de interface, fornece suporte parcial para herança múltipla 46
47 Suporte para programação orientada a objetos em Java (cont...) Interface algumas propriedades: a) Não pode ser instanciável (não pode criar objetos com new) b) Só pode possuir assinaturas de métodos de instância, públicos e abstratos (sem corpo).não pode possuir métodos concretos (com corpo), nem métodos estáticos. c) Não pode conter variáveis de instância ou de classe (static); d) Pode conter declarações de constantes (com prefixo final e inicializadas para um valor) nesse caso essa variável funcionará como uma constante de classe. e) Pode ser criada como subinterface de outra interface já existente, usando extends, como as classes. 47
48 Suporte para programação orientada a objetos em Java (cont...) Exemplo de interface public interface InterfaceExemplo{ public final String PALAVRA = TESTE ; public void metodo1(int x); public String metodo2 (String s); public interface InterfaceExemplo2 extends InterfaceExemplo{ public void metodo3(); Subinterface da primeira extensão Herda as definições da superinterface 48
49 Suporte para programação orientada a objetos em Java (cont...) Dynamic Binding Em Java, todas as chamadas a métodos são dinamicamente vinculadas a menos que o método chamado tenha sido declarado como final A vinculação estática é usada também se o método for estático (static) ou privado (private), em que ambos os modificadores não permitem sobrescrita 49
50 Suporte para programação orientada a objetos em Java (cont...) Diversas variedades de classes aninhadas Todas possuem a vantagem de serem ocultas de todas as classes em seus pacotes, exceto para a classe aninhadora Classes não estáticas aninhadas diretamente em outras são classes internas Classes aninhadas podem ser anônimas Uma classe aninhada local é definida em um método de sua classe aninhadora 50
51 Suporte para programação orientada a objetos em Java (cont...) Avaliação O projeto de Java para suporte à programação orientada a objetos é similar ao de C++ Java não suporta programação procedural Não permite classes sem pais Usa vinculação dinâmica como a maneira normal de vincular chamadas a métodos às definições de métodos Usa interfaces para fornecer uma forma simples de suporte para herança múltipla 51
52 Implementação de construções orientadas a objetos Duas partes interessantes e desafiadoras Estruturas de armazenamento para variáveis de instância Vinculações dinâmicas de mensagens a métodos 52
53 Armazenamento de dados de instâncias Registro de instância de classe (RIC) armazena o estado de um objeto Estático (construído em tempo de compilação) Cada classe possui seu próprio RIC. Quando uma derivação ocorre, o RIC da subclasse é uma cópia do RIC da superclasse, com entradas para as novas variáveis de instância adicionadas no final Dado que a estrutura do RIC é estática, o acesso a todas as variáveis de instância pode ser feita como é feito nos registros (deslocamento local) Eficiente 53
54 Armazenamento de dados de instâncias Exemplo class Pequena { public int a,b,c; class Grande extends Pequena { public int d,e; Cada classe possui seu próprio RIC. a b c RIC de Pequena 54
55 Armazenamento de dados de instâncias Exemplo class Pequena { public int a,b,c; class Grande extends Pequena { public int d,e; Cada classe possui seu próprio RIC. a b c RIC de Pequena 55
56 Armazenamento de dados de instâncias Exemplo class Pequena { public int a,b,c; class Grande extends Pequena { public int d,e; Cada classe possui seu próprio RIC. Quando uma derivação ocorre, o RIC da subclasse é uma cópia do RIC da superclasse, com entradas para as novas variáveis de instância adicionadas no final a b c a b c d e RIC de Pequena RIC de Grande 56
57 Vinculação dinâmica de chamadas a métodos Métodos em uma classe que são estaticamente vinculados não precisam se envolver no RIC para a classe Métodos que serão vinculados dinamicamente devem ter entradas nessa estrutura Chamadas a um método podem então ser conectadas ao código correspondente por meio desse ponteiro no RIC A estrutura de armazenamento para a lista é frequentemente chamada de uma tabela de métodos virtual (vtable) As chamadas a métodos podem ser representadas como deslocamentos a partir do início da vtable 57
58 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... a b c vtable class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... 58
59 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... a b c vtable de Pequena vtable desenhar( ) 59
60 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... a b c vtable de Pequena vtable desenhar( ) a b c vtable d e 60
61 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... a b c vtable de Pequena vtable desenhar( ) a b c vtable desenhar( ) //grande - sobrescreve d e examinar( ) vtable de Grande 61
62 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... a b c vtable de Pequena vtable desenhar( ) a b c vtable desenhar( ) //grande - sobrescreve d e examinar( ) CHAMADA POLIMÓRFICA objeto.desenhar( ); vtable de Grande As chamadas a métodos podem ser representadas como deslocamentos a partir do início da vtable 62
63 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... Instância de Pequena public void examinar( ) {... a b c vtable de Pequena vtable desenhar( ) a b c vtable desenhar( ) //grande - sobrescreve d e examinar( ) CHAMADA POLIMÓRFICA objeto.desenhar( ); vtable de Grande As chamadas a métodos podem ser representadas como deslocamentos a partir do início da vtable 63
64 Vinculação dinâmica de chamadas a métodos Exemplo class Pequena { public int a,b,c; public void desenhar( ) {... class Grande extends Pequena { public int d,e; public void desenhar( ) {... public void examinar( ) {... CHAMADA POLIMÓRFICA objeto.desenhar( ); Instância de Grande a b c vtable de Pequena vtable desenhar( ) a b c vtable desenhar( ) //grande - sobrescreve d e examinar( ) vtable de Grande As chamadas a métodos podem ser representadas como deslocamentos a partir do início da vtable 64
65 Resumo A programação orientada a objetos envolve três conceitos fundamentais: tipos de dados, abstratos, herança e vinculação dinâmica Questões de projeto: exclusividade de objetos, subclasses e subtipos, verificação de tipo e polimorfismo, herança simples e múltipla, vinculação dinâmica, liberação explícita ou implícita de objetos e classes aninhadas C++ tem dois sistemas de tipos (híbrida) 65
66 Resumo Java não é uma linguagem híbrida como C++; suporta apenas programação orientada a objetos Implementar linguagens de programação orientada a objetos envolve novas estruturas de dados 66
67 Exercício Implemente uma classe que contenha duas classes aninhadas (uma estática e uma interna) em C++ e Java Faça um exemplo de herança múltipla em C++ Faça um exemplo de interface (Java) 67
Paradigmas 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 maisSuporte a programação orientada a objetos
Suporte a programação orientada a objetos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
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 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 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 maisParadigmas de Linguagens de Programação. Tipos de Dados Abstratos
Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:
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 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 maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
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 maisC com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Leia 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 mais3.4. Programação Orientada a Objetos
Paradigmas de Linguagens I 1 3.4. Programação Orientada a Objetos Os conceitos de objetos e classes, vistos nas seções anteriores, são fundamentais na programação orientada a objetos. Complementando a
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 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 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 maisProgramação orientada a objetos
Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes
Leia maisAULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
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 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 maisCapítulo 5. Nomes, Vinculações e Escopos
Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução
Leia maisLinguagens de Programação Aula 11
Linguagens de Programação Aula 11 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Uma definição de subprograma descreve as ações representadas pelo subprograma Subprogramas podem ser funções
Leia maisProgramação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias de Herança
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 maisProgramação Orientada a Objetos JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento
Leia maisLinguagem de Programação Orientada a Objeto Abstração - Encapsulamento
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e
Leia maisLaboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP088 Laboratório de Programação Aula 2 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Aula 2 Orientação a Objetos 1) Discussão 2) Encapsulamento 3) Herança 4) Polimorfismo 5) Sobrescrita
Leia maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisHerança e Polimorfismo - Parte II -
Herança e Polimorfismo - Parte II - Programação Orientada a Objetos Java Prof. Geraldo Braz Junior A hierarquia do exemplo DoME 2 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank
Leia maisO PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
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 maisLinguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
Leia maisLaboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP088 Laboratório de Programação Aula 2 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Aula 2 Orientação a Objetos 1) Discussão 2) Encapsulamento 3) Herança 4) Polimorfismo 5) Sobrescrita
Leia maisOrientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Leia maisPOO e C++: Herança e Polimorfismo
POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes
Leia maisCapítulo 9. Subprogramas
Capítulo 9 Subprogramas Introdução Dois recursos fundamentais de abstração Abstração de processos Desde o início da história das linguagens de programação Abstração de dados Desde o início dos anos 1980
Leia maisProgramação Orientada a Objetos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no
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 maisCapítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/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 maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisHerança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Leia maisUNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA
LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO
Leia maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia maisProf. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos
Leia maisTÉCNICAS DE ORIENTAÇÃO A OBJETOS
TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...
Leia maisNomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
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 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 maisProgramação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:
Programação I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com 1º semestre - 2017 POO Paradigma Orientado a Objetos O que é um Paradigma? É um ponto de vista
Leia maisNomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Herança Herança Criação de uma nova classe de uma
Leia maisE N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O REVIEW CLASSES E INSTÂNCIAS. REVIEW - O OPERADOR THIS This faz referencia a métodos e atributos da própria classe REVIEW - EXEMPLO
Leia maisParadigmas de Programação
Paradigmas de Programação Aula 6 Nomes, Vinculações, Verificação de Tipos e Escopos Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Introdução As linguagens de
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 Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisOrientaçã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 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 JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento
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 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 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 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 maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo 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
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 maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias Polimorfismo
Leia maisConceitos de Linguagens de Programação
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 07 (rogerio@prudente.unesp.br) Aula 7 Implementação
Leia maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia maisPolimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação
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 maisSEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa
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 maisHerança e Polimorfismo -Parte II -
Herança e Polimorfismo -Parte II - Mário Meireles Teixeira mario@deinf.ufma.br A hierarquia do exemplo DoME 2 1 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank Sinatra tracks: 16
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 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 maisEngenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira
Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança
Leia maisLinguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Sobrecarga de operadores
Leia maisOrientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Leia maisCurso Profissional de Gestão e Programação de Sistemas Informáticos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Classes em C++ Módulos 10 e 11 POO A professora: Sandra Soares Classes em C++ Uma class
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 maisProgramação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Leia maisIntrodução a Programação Orientada a Objetos
Introdução a Programação Orientada a Objetos Fernando de Simas, Airton de Souza, Sérgio Roberto Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí UNIVALI. 88302-202 Itajaí
Leia maisLINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula anapaula_mandelli@hotmail.com JAVA Como qualquer linguagem de programação, a linguagem Java tem sua própria estrutura, regras de sintaxe
Leia maisAprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.
Aprendendo Java 2 Rodrigo Mello Ramon Chiara Renato Villela Novatec Editora Ltda. www.novateceditora.com.br 1 Programação Orientada a Objetos O que é Programação Orientada a Objetos? É um paradigma de
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 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 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 maisProgramação em Linguagem C++
Programação em Linguagem C++ Igor Kondrasovas Especialista em Computação Aplicada UDESC Sócio e Desenvolvedor na Inovativa Tecnologia igor@inovativatec.com www.inovativatec.com Agenda Herança e Polimorfismo
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - 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 relacionadas entre
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 maisModelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo 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
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 maisIntrodução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos
Introdução Programação Orientada a Objetos (POO) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Avaliações Continuada: Resolução de Atividades Práticas em Sala; Resolução de Lista de Exercícios; Provas
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisImplementando subprogramas
Implementando subprogramas Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisNotas de Aula 04: Herança e polimorfismo.
Notas de Aula 04: Herança e polimorfismo. Objetivos da aula: Introduzir o conceito de Heranças Criar uma hierarquia de classes Rever o uso de modificadores de acesso. Apresentar o conceito de polimorfismo
Leia mais