Programação Orientada a Objeto: Introdução. Professor: Adonai Estrela Medrado Data: 22/07/2008

Documentos relacionados
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Linguagem de Programação IV Introdução

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Programação Orientada a Objetos em Python

Universidade Federal de Uberlândia

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

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

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Introdução a Programação Orientada a Objetos

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Orientação a Objetos e Java

Linguagem de Programação I

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Sobrecarga, Sobreposição e Polimorfismo

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

Linguagem de Programação. Diagrama de classes

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

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Classe Abstrata e Interface

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Introdução ao Java. Prof. Herbert Rausch Fernandes

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

9 Classes Abstractas e Interfaces

Aula 9 POO 1 Polimorfismo. Profa. Elaine Faria UFU

Reinaldo Gomes Análise/projeto estruturado

POO29004 Programação Orientada a Objetos

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos

1 Introdução e Conceitos básicos

Programação Orientada a Objetos

Programação Orientada a Objetos

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Linguagem de Programação III

Orientação a Objetos. Programação em C++

Conceitos de Programação Orientada a Objetos

Programação Java (nível intermediário) 4. Polimorfismo

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Linguagem de Programação I Apresentação da Disciplina

Computação II Orientação a Objetos

Interfaces POO. Prof. Marcio Delamaro

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

Programação Orientada a Objetos. Polimorfismo

Nome do Aluno: Matrícula: Turma: Data: 08/04/2013

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Linguagem de Programação II Implementação

Programação Orientada a Objetos

Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais).

Programação Orientada a Objetos Classes Abstratas. Sérgio Soares

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Herança e Polimorfismo

Modelo do Mundo Real. Abstração. Interpretação

Encapsulamento e Modularização

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

POO29004 Programação Orientada a Objetos

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Encapsulamento e Modularização

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

LINGUAGEM DE PROGRAMAÇÃO

Interfaces. Classes abstratas que possuem apenas métodos abstratos. Na Interface: Métodos são implicitamente. Campos são implicitamente

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Aula 4 Sumário Classes e Objetos Variáveis de instância, construtores e métodos Programas de teste

Prof. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1

COMPORTAMENTOS - Observações

Palavras Reservadas da Linguagem Java

POO29004 Programação Orientada a Objetos

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Encapsulamento. Alberto Costa Neto DComp - UFS

Linguagem Algorítmica OO. Linguagem Algorítmica

Herança e Polimorfismo - Parte II -

Linguagem de programação Programação Orientada a objetos

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Programação Orientada a Objetos

Programação Orientada a Objetos em Java

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Classes e Objetos POO

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Programação Orientada a Objetos

Transcrição:

Programação Orientada a Objeto: Introdução Professor: Adonai Estrela Medrado Data: 22/07/2008

Programação Programação É o ato de fazer um programa. Um programa é conjunto de ordens dadas a um computador para a realização de um determinado processo (LANCHARRO, LOPEZ e FERNANDEZ, 1991, p. 2). Envolve o uso de um código (linguagem). Constitui somente uma das etapas no desenvolvimento de software. Preocupação com a qualidade deve apresentarse durante todas as etapas de desenvolvimento.

Programação Orientada a Objeto: Destaques Programação orientada a objeto não é sinônimo de qualidade de software (STROUSTRUP, 1995). Importante no aprendizado da orientação a objeto: A aplicação impensada de técnicas que são eficazes em uma linguagem em outra conduz tipicamente a código mal estruturado, de baixo desempenho e difícil manutenção. (STROUSTRUP, 2000, p. 18).

Programação Orientada a Objeto: Definição Segundo Stroustrup (1995), uma linguagem é orientada a objeto se, e somente se, suporta: Abstração Herança Polimorfismo em tempo de execução Critério adicional da pureza: As classes devem ser a única unidade de programação (MEYER, 1997).

Abstração Classes e Objetos Classe Ponto central da orientação a objeto. Definição: uma classe é um tipo abstrato de dado equipado com implementação parcial ou total. (MEYER, 1997, p. 165). Objeto Definição: instância em tempo de execução de alguma classe (MEYER, 1997, p. 218).

Abstração Classes e Objetos Exemplo Visual Tipos de Dado Integer Instâncias 10 19 44 25 Retângulo

Herança Exemplo Visual Uma classe A é descendente de B se herda direta ou indiretamente características de B. (MEYER, 2000). Triângulo Retângulo Compartilham atributos de uma Figura Geométrica como cor de borda, preenchimento e área.

Polimorfismo Exemplo Visual Área Triângulo (base x altura) / 2 Solicita área da Figura Geométrica Recurso de polimorfismo retorna a área do Triângulo ou do Quadrado conforme o caso. Descendente de Figura Geométrica Área Retângulo altura x largura

Principais Modificadores de Acesso Elementos Privados private Elemento = Dado ou Função Elementos Protegidos protected Classe Descendente Elementos Públicos public Qualquer Classe Classe

class Triangulo extends FiguraGeometrica { Campos private double altura; private double base; public double getaltura () { return altura; public void setaltura (double valor) { altura = valor; Métodos Construtor public double getbase () { return base; public void setbase (double valor) { base = valor; public double calculararea() { return (getaltura() * getbase()) / 2; public Triangulo() { setaltura(1); setbase(1);

class Retangulo extends FiguraGeometrica { Campos private double altura; private double largura; public double getaltura () { return altura; public void setaltura (double valor) { altura = valor; Métodos Construtor public double getlargura () { return largura; public void setlargura (double valor) { largura = valor; public double calculararea() { return getaltura() * getlargura(); public Retangulo() { setaltura(1); setlargura(1);

abstract class FiguraGeometrica { Campos private int corpreenchimento; private int corborda; public int getcorpreenchimento () { return corpreenchimento; public void setcorpreenchimento (int valor) { corpreenchimento = valor; Métodos public double getborda () { return corborda; public void setborda (int valor) { corborda = valor; public abstract double calculararea();

Criando e Acessando Objetos A palavra new é utilizada na criação um objeto. FiguraGeometrica minhafigura; int numerodecisor;... if (numerodecisor % 2 == 0) minhafigura = new Triangulo(); else minhafigura = new Retangulo(); System.out.print ( minhafigura.calculararea ());

Pontos Mais Importantes Aprender a programação orientada a objeto não tem necessariamente como conseqüência um aumento na qualidade do código. A programação é somente uma das fases do desenvolvimento de software. Classes podem definir a acessibilidade a seus elementos (public, private, protected). Para se criar um objeto utiliza-se da palavra chave new. Sugestão de pesquisa: Padrões de Projeto (Design Patterns).

Referências GAMMA, Erich e et al. Padrões de projeto: soluções reutilizáveis de software orientado a objeto. Porto Alegre: Bookman, 2000. LANCHARRO, Eduardo Alcalde, LOPEZ, Miguel Garcia e FERNANDEZ, Salvador Peñuelas Informática básica. São Paulo: Makron Books, 1991. MEYER, Bertrand. Object-oriented software construction. New Jersey: Prentice Hall PTR, 1997. STROUSTRUP, Bjarne. Why C++ is not just an Object- Oriented Programming Language. 1995. Disponível em: <http://www.research.att.com/~bs/oopsla.pdf> Acesso: 20/07/2008 STROUSTRUP, Bjarne. A linguagem de programação C++. Porto Alegre: Bookman, 2000.