Paradigmas da Programação – Semestre 2 – Aula 13 Professor: Eduardo Mantovani Prof. Fábio de Paula Santos

Slides:



Advertisements
Apresentações semelhantes
Paradigmas da Programação
Advertisements

Paradigmas da Programação – Semestre 1 – Aula 6
Paulo Marques Hernâni Pedroso
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Algoritmos de Busca CONTEÚDO (1) Motivação (2) Busca Linear
Java: Pacotes e Modificadores de Visibilidade
1 Orientação a Objetos: Herança Alcides Calsavara.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Iniciação ao Java – Márcio F. Campos
INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Paradigmas da Programação – Semestre 1 – Aula 3
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
A linguagem C#.
Classes e objetos Arrays e Sobrecarga
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Curso de extensão em Desenvolvimento Web
Programação Orientada a Objetos com Java
C# Herança Sharp Shooters .NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa.
C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Propriedades.
JAVA Orientação a Objetos
Paradigmas da Programação – Semestre 1– Aula 5 Lab3
Sobrecarga e Encapsulamento
Paradigmas da Programação – Semestre 2 – Aula 2 Introdução ao VS.Net Professores: Fábio de Paula Santos Eduardo Mantovani.
Atributos, Encapsulamento e Interface em Java
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Linguagens de Programação II
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Implementação Orientada a Objetos – Aula 03
Linguagem de Programação C#
Programação Orientada à Objetos
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Java Kickstart, day 2 Semelhanças com linguagem C.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Orientação a Objetos Erick Luis Moraes de Sousa
Interfaces POO Avançado.
Classes Abstratas e Interface
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Paradigmas da Programação – Semestre 1 – Aula 3 Professor: Eduardo Mantovani )
Classes Abstratas e Interfaces GX – Aula05 1.
Coleções em Java - Parte 2
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
Construtores e Destrutores
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP.NET Framework.NET com C#. Orientação a Objeto parte II.
Bruno Inojosa MCP .NET Framework
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Array e ArrayList LPOO – 01/09/14.
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Algoritmos de Pesquisa
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Informática – Senai. Include e Require O PHP tem duas formas normalmente usadas para incluir o conteúdo de um arquivo PHP, em uma outra página. São elas:
Transcrição da apresentação:

Paradigmas da Programação – Semestre 2 – Aula 13 Professor: Eduardo Mantovani Prof. Fábio de Paula Santos

INTERFACES Especificam conjuntos de serviços (métodos e atributos) que as classes devem implementar É usada quando não existe nenhuma implementação padrão para herdar

Interfaces Palavra-chave interface A classe assina um “contrato” com o compilador que diz que “ esta classe definirá todos os métodos e atributos especificados pela interface. As interfaces são quase sempre comparadas à classes abstratas. Uma classe abstrata serve como classe-base para uma família de classes derivadas, enquanto que as interfaces foram feitas para serem misturadas a outras árvores de herança

Interfaces e Polimorfismo Interfaces fornecem conjuntos uniformes de métodos e atributos para objetos de classes díspares ( Ex: pessoas e árvores). Isso permite que os programas processem objetos destas classes de maneira polimórfica ( pessoas e arvores tem algo em comum: a idade)

Criando a aplicação Windows Form Crie cada classe separadamente: File/New File/Visual C# Class

Juntando classes em arquivos separados numa única aplicação Adicione os.CS em sua aplicação. Obs: procure salvar os.CS na mesma pasta de sua aplicação.

Foreach Permite a iteração de todos os itens de uma array examinando cada item de cada vez. foreach( int i in intArray) { Console.WriteLine( i.ToString()); }

Classe 1: a interface using System; /// arquivo: IIdade.cs /// Esta interface declara propriedade para configurar e obter a idade das classes (nao importa se pessoas ou árvores) /// propriedade de somente leitura que todas as classes que a implementam devem fornecer implementacoes public interface IIdade { public int Idade { get; } public string NomeCompleto { get; } }

Classe 2: pessoa using System; /// /// a classe pessoa tem uma data de nascimento. /// Os atributos NomeCompleto e Idade, satisfazem os requisitos de implementacao definidos na interface IIdade; /// portanto, a classe Pessoa cumpre o seu "contrato" com o compilador /// public class Pessoa : IIdade // a classe pessoa implementa a interface IIdade { private string Nome; private string Sobrenome; private int AnoNascimento; public Pessoa(string ValorNome, string ValorSobrenome, int ValorAnoNascimento) { Nome = ValorNome; Sobrenome = ValorSobrenome; if( ValorAnoNascimento > 0 && ValorAnoNascimento <= DateTime.Now.Year) AnoNascimento = ValorAnoNascimento; else AnoNascimento = DateTime.Now.Year; }

Classe 2: pessoa (cont..) public int Idade //implementacao do atributo Idade da interface IIdade { get { return( DateTime.Now.Year - AnoNascimento); } } public string NomeCompleto //implementacao do atributo Idade da interface IIdade { get { return( Nome + " "+ Sobrenome ); } } }//fecha pessoa

using System; /// arvore.cs /// contém o numero de anéis de uma arvore, o que corresponde a sua idade /// public class Arvore : IIdade { private int aneis; // numero de aneis de um tronco public Arvore(int anoPlantacao) { aneis = (DateTime.Now.Year - anoPlantacao); } public void AddAneis() { aneis++; } Classe 3: arvore

public int Idade { get { return aneis; } } public string NomeCompleto { get { return( "Arvore"); } } } Classe 3: arvore ( cont..)

A aplicação class TesteInterface { static void Main(string[] args) { Arvore arvore = new Arvore(1978); Pessoa pessoa = new Pessoa("Eduardo", "Mantovani", 1950); Pessoa pessoa2 = new Pessoa("Fabio", "Santos", 1920); IIdade[] iIdadeArray = new IIdade[3]; iIdadeArray[0] = arvore; iIdadeArray[1] = pessoa; iIdadeArray[2] = pessoa2; string saida = arvore + ":" + arvore.NomeCompleto + "\nIdade é " + arvore.Idade + "\n\n"; foreach( IIdade referencia in iIdadeArray) { saida += referencia.NomeCompleto + " Sua Idade é: "+ referencia.Idade + "\n" ; } MessageBox.Show(saida, " Demonstracao de Polimorfismo/Interface"); } }

Nesta aula aprendemos... Interface ( necessidade de um contrato) Polimorfismo ( arvore e pessoa) Criar uma aplicação com classes em arquivos separados Uso de foreach