INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica)

Documentos relacionados
Conceitos de Programação Orientada a Objetos

Introdução A Programação Orientada a Objetos (POO) é um paradigma Baseado em objetos

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Análise e Projeto Orientado a Objetos utilizando a Unified Modeling Language (UML)

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

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a objetos. Objetos ou Instâncias I

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

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

Introdução à Orientação a Objetos

Laboratório de programação II

Programação Orientada a Objetos

Linguagem de Programação. Diagrama de classes

Programação Orientada a Objetos Relacionamentos entre classes

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

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

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

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

Java para Desktop. Programação Orientada à Objetos 2 JSE

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

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

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

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

Linguagem de Programação III

Programação Orientada a Objetos em Python

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

Programação Orientada a Objetos

Programação Orientada a Objetos

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

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

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

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Programação Orientada a Objetos

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas

Programação Orientada a Objetos JAVA - NETBEANS

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

O PARADIGMA ORIENTADO POR OBJETOS

Linguagem de Programação IV Introdução

ACH2002. Orientação a Objetos

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

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

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

Conceitos de Programação Orientada a Objetos

Orientação a Objetos (OO)

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Modelagem Orientada a Objeto

Linguagens de Programação Aula 3

Análise de Sistemas 3º Bimestre (material 2)

Herança e Propriedades

O que estas classes possuem em comum? 1) 2) 3)

1 Introdução e Conceitos básicos

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

PROGRAMAÇÃO ORIENTADA A

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

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

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

COMPORTAMENTOS - Observações

Projeto Banco de Dados

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

ao paradigma imperativo

Interfaces POO. Prof. Marcio Delamaro

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Introdução à Modelagem Conceitual 1. Conceitos Básicos

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

Programação Orientada a Objetos

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Linguagem de Programação II Herança

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

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

Programação Orientada a Objetos

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

POO29004 Programação Orientada a Objetos

Programação Orientada a Objetos em Java

Instituto de Informática Estrutura de Dados II

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

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

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

Programação de Computadores

Linguagens de Programação

ORIENTAÇÃO A OBJETOS Histórico:

Programação Orientada a Objetos

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

Herança - Conceitos Básicos

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Programação Orientada a Objetos

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Java e Orientação a Objetos. Prof. Sérgio Ricardo

2. Classes, Objectos, Herança e Polimorfismo

Transcrição:

INTRODUÇÃO A POO A (POO) é um paradigma Baseado em objetos Paradigma Modelo, padrão para especificação de um problema Paradigmas existentes na programação de computadores: Procedimental; Funcional; Lógico e Orientado a Objetos(OO) Flávio de Oliveira Silva 6 PROCEDIMENTAL (Algorítmica) Computação ocorre através da execução de instruções passo a passo. Ex: C; Pascal int fatorial(int n){ int fat; fat = 1; if (n == 0) return 1; while (n >= 1){ fat = fat * n; n = n -1; } return fat; } Flávio de Oliveira Silva 7 1

FUNCIONAL Computação baseada em cálculo de funções. Ex: LISP; HASKELL ;LISP (defun fatorial (n) (cond ((= n 0) 1) (t (* n (fatorial (- n 1)))) ) ) -- Haskell fatorial :: Integer -> Integer fatorial 0 = 1 fatorial n = n * fatorial (n - 1) Flávio de Oliveira Silva 8 LÓGICA Computação baseada em fatos e regras. Ex: Prolog factorial(0,1). factorial(n,x):- M is N - 1, factorial(m,y), X is N * Y. Flávio de Oliveira Silva 9 2

ORIENTADO A OBJETOS (OO) Computação baseada em objetos que se intercomunicam. Objetos contém dados e métodos. Ex: C++; Java public class Numero { private long valor = 0; public long Fatorial() { if (valor == 0) { return 1; } else { return valor*fatorial(valor-1); } } } Flávio de Oliveira Silva 10 PARADIGMAS Cada paradigma representa uma forma de propor uma solução a um dado problema. A utilização de um ou outro paradigma depende de vários fatores. Flávio de Oliveira Silva 11 3

INTRODUÇÃO A POO Conceitos Básicos 1. OBJETO 2. MÉTODO 3. MENSAGEM 4. CLASSE 5. CLASSIFICAÇÃO 1. GENERALIZAÇÃO 2. ESPECIALIZAÇÃO 6. HERANÇA 7. ENCAPSULAMENTO 8. POLIMORFISMO Flávio de Oliveira Silva 12 OBJETO Entidades que possuem dados e instruções sobre como manipular estes dados Os objetos estão ligado à solução do problema. Software Gráfico Objetos: Circulos; Linhas; etc. Software BD Objetos: Tabelas; Linhas; Campos; etc. Software Comercial: Pedidos; Produtos; Clientes; etc. Na POO a solução do problema consiste em um primeiro momento estabelecer quais os objetos serão necessários. Flávio de Oliveira Silva 13 4

OBJETO Dados ligados ao objeto Exemplos: Círculo ponto_centro, raio linha ponto_inicio; ponto_final Cliente Nome; Endereco; Telefone Exemplos: //criação de objetos (sintaxe C+ + ) Ponto p(3,4); Circle c(p,5.4); Cliente pessoa; Flávio de Oliveira Silva 14 MÉTODO Métodos são procedimentos que determinam como o objeto se comporta. Através dos métodos é possível manipular os dados contidos no objeto. Os métodos estão ligados ao comportamento do objeto Exemplo - Um círculo poderia possuir os métodos: draw; move; getarea; getperimeter; setcenter Flávio de Oliveira Silva 15 5

MENSAGEM Objetos se comunicam entre si através de mensagens. Uma mensagem é uma chamada de um método. A mensagem possui os seguintes componentes: Receptor nome do objeto que irá receber a mensagem Método Método do receptor que será utilizado Argumentos Informação adicional para a execução do método Exemplos Point p(0,0), pnewcenter(2,3); Circle c(p,3); c.getarea(); c.setcenter(pnewcenter); //Exemplo Mensagem // Exemplo Mensagem Flávio de Oliveira Silva 16 CLASSE Classe é um agrupamento de objetos A classe consiste nos métodos e nos dados que um determinado objeto irá possuir. Objetos são criados quando uma mensagem solicitando a criação é recebida pela sua classe. A programação orientada a objetos consiste em implementar as classes e na utilização das mesmas, através da sua intercomunicação. Um objeto é uma instância da classe. Flávio de Oliveira Silva 17 6

CLASSIFICAÇÃO Na POO classificação consiste em criar classes a partir dos objetos envolvidos em um determinado problema Ex: Diferentes tipos de pessoas interagem com um Empresa COMPORTAMENTO CLASSE Pessoas interessadas nos produtos??? Pessoas que já compraram os produtos??? Pessoas que são responsáveis por um grupo de trabalhadores??? Pessoas responsáveis pela demonstração de produtos e sua venda??? Trabalhadores da linha de produção??? Flávio de Oliveira Silva 18 GENERALIZAÇÃO ESPECIALIZAÇÃO GENERALIZAÇÃO A generalização consiste em obter similaridades entre as várias classes e partir destas similaridades, novas classes são definidas. Estas classes são chamadas superclasses ESPECIALI ZAÇÃO A especialização por sua vez consiste em observar diferenças entre os objetos de uma mesma classe e dessa forma novas classes são criadas. Estas classes são chamadas subclasses. Flávio de Oliveira Silva 19 7

EXEMPLO Flávio de Oliveira Silva 20 HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse a ela relacionada. Dessa forma as propriedades de uma classe são propagadas de cima para baixo em um diagrama de classes. Neste caso dizemos que a subclasse herda as propriedades e métodos da superclasse A relação de herança entre duas classes é uma relação da seguinte forma: A e um tipo de B, onde A e B são classes. Caso esta relação entre as classes não puder ser construída, em geral, também não se tem uma relação de herança entre a classe A a partir da classe B. Flávio de Oliveira Silva 21 8

HERANÇA Exemplos: Um Carro de Passeio é um tipo de veículo; Um caminhão é um tipo de veículo; Um círculo é um tipo de uma figura geométrica; Um quadrado é um tipo de figura geométrica; Um vendedor é um tipo de Empregado; Um empregado e um tipo de pessoa. Herança Múltipla Uma subclasse herda características de mais uma classe Exemplos: Um gerente de vendas é um tipo de vendedor e é um tipo de gerente; Flávio de Oliveira Silva 22 HERANÇA x USO Além da relação de herança entre as classes existe a relação de uso HERANÇA classe A é um tipo de B USO / AGREGAÇÃO (Relação de Conteúdo) classe D contém classe C classe D usa classe C classe C é parte da classe D Exemplo: Uma equipe contém um gerente e um grupo de vendedores Flávio de Oliveira Silva 23 9

HERANÇA x USO Flávio de Oliveira Silva 24 ENCAPSULAMENTO Encapsulamento é um termo que indica que os dados contidos em um objeto somente poderão ser acessados através de seus métodos. Dessa forma não é possível alterar os dados diretamente, somente através de métodos. Ex: O raio somente pode ser alterado/recuperado pelos métodos setcenter/getcenter. CIRCULO Ponto center Raio r getarea getperimeter getcenter getradius setcenter setradius Flávio de Oliveira Silva 25 10