Fundamentos de Orientação à objetos
|
|
- Gabriel Henrique Carreiro Martins
- 7 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho
2 Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou objeto? basicamente, qualquer conceito que seja aplicável ao projeto do sistema. Pode representar: o Uma coisa visível ou tangível o Algo que pode ser compreendido intelectualmente o Algo para o qual o pensamento ou ação pode ser dirigido ATENÇÃO!!! Objetos do mundo real não são os únicos tipos de objetos que são de interesse durante o desenvolvimento do software; 2
3 Objeto Jacobson et al. define "objetos de controle" como "aqueles que unem o fluxo de eventos e, portanto, fazem a comunicação com outros objetos Smith e Tockey fazem uma definição mais precisa, e sugerem que "um objeto representa um item individual, identificável, unidade ou entidade, real ou abstrata, com um papel bem definido no domínio do problema" 3
4 Objeto Um objeto é uma entidade que tem estado, comportamento e identidade. A estrutura e o comportamento de objetos similares são definidos em sua classe comum. O estado de um objeto considera todas as propriedades (geralmente estático) do objeto mais a os valores atuais (normalmente dinâmico) de cada uma dessas propriedades. O comportamento é como um objeto age e reage (ação), em termos de mudanças e seu estado de passagem de mensagem. 4
5 Objeto Um objeto de software mantém seu estado em uma ou mais de suas propriedades ou atributos (variáveis), e implementa seu comportamento através de seus métodos. Métodos (comportamento) Propriedades (estado) Objeto 5
6 Objeto Um sistema pode conter um ou inúmeros objetos ativos. Cada objeto ativo no sistema em particular também é chamado de instância. As diferentes instâncias possuem seu próprio estado. Exemplo: várias instâncias de pessoas. 6
7 Objeto Cada instância de pessoa possui um estado diferente em particular, como visto na última figura. Além do estado, a instância possui seus métodos (comportamento) que operam sobre o próprio estado. Em outras palavras, para pular, cada pessoa vai fazer uma determinada força dependendo da sua idade, altura e peso. A idéia é que cada objeto seja responsável por seus dados (estado) e seja capaz de realizar as próprias operações que lhe foram atribuídas (comportamento). 7
8 Mensagem Um objeto por si só não significa muito em um sistema. Para ter algum sentido e valor esses objetos precisam interagir e comunicar-se entre si. Os objetos se comunicam por meio de mensagens. Uma mensagem é uma solicitação feita por um objeto A a um objeto B; Se A envia uma mensagem para B, podemos entender como o objeto A executando um método do objeto B. Como resultado desta solicitação, o objeto B irá modificar seu estado ou irá retornar algum valor; 8
9 Mensagem As mensagens são compostas por três partes: o Objeto a quem a mensagem é endereçada o Nome do método a ser chamado o Parâmetros que o método recebe 9
10 Métodos Os métodos especificam a maneira pela qual os dados de um objeto são manipulados (comportamento) Uma especificação dos passos pelos quais uma operação deve ser executada. Ele é uma implementação de uma operação. Diferentes métodos podem ser usados para executar a mesma operação. Os métodos de um tipo de objeto referenciam somente as estruturas de dados desse tipo de objeto. A ação que um objeto ou uma classe podem desempenhar. Os métodos são similares às funções e procedimentos da programação estruturada. 10
11 Operações Uma operação denota um serviço de uma classe que oferece a seus clientes. Na prática, o cliente normalmente faz cinco tipos de operações sobre um objeto. Os três tipos mais comuns de operações são as seguintes: o Modificador: uma operação que altera o estado de um objeto; o Seletor: uma operação que acessa o estado de um objeto, mas não altera o estado; o Iterator: uma operação que permite que todas as partes de um objeto sejam acessadas em qualquer ordem bem definida. 11
12 Operações Dois outros tipos de operações são comuns, pois eles representam a infra-estrutura necessária para criar e destruir instâncias de uma classe. o Construtor: uma operação que cria um objeto e / ou inicializa seu estado; o Destruidor: uma operação que libera o estado de um objeto e / ou destrói o próprio objeto. 12
13 Atributos Atributos definem os dados enquanto os métodos definem a funcionalidade. Atributos são definidos por seus nomes e tipos (por exemplo, integer, string, date). Métodos são definidos escrevendo o código 13
14 Exemplos de modelos Modelos são representações simplificadas de objetos, itens, tarefas, processos, conceitos, idéias, etc... Os modelos são aqui descritos usando pseudo código em português. O pseudocódigo é somente uma ferramenta prática para expressão dos modelos de forma concisa e formal mas sem entrar nos detalhes de implementação de classes em Java.
15 Modelo: Conta bancária simplificada O modelo aqui descrito representa uma conta bancária simplificada, que somente representa o nome do correntista, o saldo e se a conta é especial ou não. Aspectos práticos encontrados em contas de bancos reais (senhas, taxas, impostos, etc...) foram deixados de lado em nome da simplicidade. A figura a seguir mostra os dados e as operações deste modelo. E o modelo exibido em pseudocódigo é exibido a seguir.
16 Modelo: Conta bancária simplificada Dados e atributos do modelo
17 Modelo: Conta bancária simplificada Modelo conta bancária em pseudocódigo
18 Modelo: Conta bancária simplificada Modelo conta bancária em pseudocódigo (cont)
19 Modelo: Conta bancária simplificada Modelo conta bancária em pseudocódigo (cont)
20 Modelo: Data O modelo aqui descrito será utilizado para representar uma data, podendo ser dadas de eventos, aniversários, etc... que deve conter dados para representar o dia, o mês e o ano. Para este modelo, supomos que o valor do mês é representado por um número inteiro entre 1 e 12, inclusive (em vez de ser representando pelo nome em extenso do mês, por exemplo). Considerando que existem datas válidas e não válidas, implementamos também operações para identificar e distinguir datas válidas e não válidas.
21 Modelo: Data Dados e atributos do modelo
22 Modelo: Data Modelo data em pseudocódigo
23 Modelo: Data Modelo data em pseudocódigo (cont)
24 Modelo: Data Vantagens do encapsulamento A restrição aos valores que podem ser representados pelos dados: datas não-válidas são identificadas e os valores dos dados dia, mês e ano são inicializados correspondentemente, de forma que se a data passada não for válida, os dados sempre irão valer zero. Dados a serem representados pelo modelo Data não podem assumir qualquer valor É desejável que estes dados sejam manipuláveis somente pelas operações do modelo. Desta forma, ou os dados encapsulados contém uma data válida ou todos contém zero - não é possível ter o dia e o ano corretos e o mês incorreto. A operação inicializadata recebe argumentos, e usa os valores passados como argumentos para efetuar alguma operação, neste caso, manipulação dos dados do modelo. Se não fosse possível passar argumentos para a operação, não teríamos como inicializar os dados do modelo.
25 Modelo: Data É possível chamar operações de dentro de operações Quando a operação dataéválida é chamada, o seu resultado é verificado e parte da operação inicializadata é executada dependendo do resultado. Os argumentos passados para a operação dataéválida são os mesmos passados para a operação inicializadata - a operação inicializadata delegou a verificação de validade à operação dataéválida. Desta forma, quando o modelo for usado, poderemos inicializar uma data diretamente ou verificar se ela é válida sem precisar inicializar.
26 Classes, objetos, instâncias, referências e métodos Programadores que utilizam o paradigma de programação orientada a objetos criam e usam objetos a partir de classes, que estão relacionadas diretamente com os modelos descritos anteriormente Os conceitos de classe e um objeto estão intimamente entrelaçados, pois não podemos falar de um objeto sem levar em conta a sua classe. No entanto, existem diferenças importantes entre esses dois termos. Considerando que um objeto é uma entidade que existe no tempo e no espaço, uma classe representa apenas uma abstração, a "essência" de um objeto. 26
27 Classes, objetos, instâncias, referências e métodos Uma classe é um conjunto de objetos que compartilham uma estrutura comum, comportamento comum, e semântica comum. Um único objeto é simplesmente uma instância de uma classe. As classes são tipos que podem ser criados. Classes são estruturas das linguagens de programação orientadas a objetos para conter para determinado modelo, os dados que devem ser representados e as operações que devem ser efetuadas com estes dados. Assim, uma classe representa um conjunto de objetos que compartilham uma estrutura comum e um comportamento comum. 27
28 Classes, objetos, instâncias, referências e métodos Classes são escritas com os recursos e regras da linguagem de programação orientada a objetos para a implementação dos modelos. Em algumas situações as classes são somente moldes ou formas que representam os modelos abstratamente. Os dados contidos em uma classe são conhecidos como campos ou atributos As operações contidas em uma classe são chamadas de métodos dessa classe. O processamento de dados que deve ser feito para um modelo será feito dentro dos métodos, que eventualmente poderão executar outros métodos, da mesma classe a que pertencem ou de outras classes.
29 Interface e implementação A interface de uma classe fornece seu ponto de vista exterior e, portanto, enfatiza a abstração, escondendo a sua estrutura e os segredos de seu comportamento caixa-preta Consiste basicamente das declarações de todas os métodos aplicáveis a instâncias da classe, mas pode também incluir constantes, propriedades necessárias para completar a abstração. Já a implementação de uma classe é a sua visão interna, que engloba os segredos de seu comportamento. A implementação de uma classe consiste basicamente da implementação de todas os métodos (que realizam as operações) definidas na interface da classe. 29
30 Interface e implementação Podemos ainda dividir a interface de uma classe em quatro partes: o Público: a declaração de que está acessível a todos os clientes; o Protegido: a declaração de que só é acessível para a própria classe e suas subclasses; o Privado: a declaração de que só é acessível para a própria classe; o Pacote: a declaração de que só é acessível por classes no mesmo pacote ou local; Modificador Classe Pacote Subclasse Globalmente Public sim sim sim sim Protected sim sim sim não Sem Modificador (Padrão) (Pacote) sim sim sim (dentro do pacote) não (fora do pacote) Private sim não não não não 30
31 Encapsulamento Mecanismo utilizado para disponibilizar métodos que operam sobre os dados e que protegem o acesso direto indevido aos atributos de uma instância fora da classe onde estes foram declarados. Conhecido também como ocultação de informações (information hiding) O encapsulamento protege os dados do objeto do uso arbitrário e não-intencional. 31
32 Encapsulamento O encapsulamento é o resultado (ou ato) de ocultar do usuário os detalhes da implementação de um objeto. O encapsulamento é importante porque separa a maneira como um objeto se comporta da maneira como ele é implementado. A definição de como implementar os conhecimentos ou ações de uma classe, sem informar como isto é feito. Não utilizar o encapsulamento permite que um objeto B viole a integridade do A, pela modificação direta de seu estado. Modelos que encapsulam os dados possibilitam a criação de programas com menos erros e mais clareza. Encapsulamento de dados em modelos deve ser um dos principais objetivos do programador que use linguagens orientadas a objetos. 32
33 Encapsulamento: Exemplo Saldo de uma conta bancária O saldo não pode ser alterado ou manipulado diretamente, mas sim através de operações adequadas para isso, como lançamentos de débitos e créditos; A alteração direta do saldo causaria um problema de cálculos e inconsistência e falta de confiabilidade de dados; O encapsulamento permite esconder o saldo e definir que métodos adequados para operar sobre os dados dos objetos daquela classe. O uso de encapsulamento evita ainda, que um programa torne-se tão interdependente que uma pequena mudança tenha grandes efeitos colaterais. 33
34 Herança Herança é um mecanismo da OO que permite criar novas classes a partir de classes já existentes, aproveitando-se das características existentes na classe a ser estendida. Relacionamento entre itens gerais (chamados de superclasses ou classe-mãe) e tipos mas específicos destes itens (chamados subclasses ou classes-filha). Comumente chamado de relacionamento é um ou é um tipo de Exemplo : aluno-3º-período é um aluno é uma pessoa 34
35 Herança Classe abstrata Funcionário nome salário Gerente Vendedor Diretor Diretor de vendas Diretor de TI 35
36 Herança Classe abstrata Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo (template) para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas completa a funcionalidade da classe abstrata adicionando um comportamento específico. Uma classe abstrata normalmente possui métodos abstratos. Esses métodos são implementados nas suas classes derivadas concretas com o objetivo de definir o comportamento específico. O método abstrato define apenas a assinatura do método e, portanto, não contém código. 36
37 Herança Interfaces É um conjunto de especificações de serviços (operações); Um serviço tem especificação e implementação; A especificação define o que faz o serviço (operação); A implementação define como o serviço é feito (método); Uma interface pode ser representada na UML conforme apresentado a seguir: Cadastro ou <<interface>> Cadastro 37
38 Herança Interfaces Em uma interface todos os serviços possuem apenas especificação (método com apenas assinaturas sem implementação). Impõe especificação do que uma classe deve oferecer e implementar. Uma interface não pode ser instanciada; Interface só possui métodos (exceto construtores). Uma classe implementa uma ou mais interface; Uma classe pode ao mesmo tempo herdar de uma classe e implementar uma interface; 38
39 Herança Os subtipos, além de herdarem todas as características de seus supertipos, também podem adicionar mais características, seja na forma de variáveis e/ou métodos adicionais, bem como reescrever métodos já existentes na superclasse (polimorfismo). A herança permite vários níveis na hierarquia de classes, podendo criar tantos subtipos quanto necessário, até se chegar no nível de especialização desejado. A herança introduz complexidade, o que não é desejável. Identificar uma hierarquia de herança durante o design põe restrições desnecessárias à implementação, portanto atenção. Use com moderação. 39
40 Herança Herança múltipla Uma classe pode herdar atributos e operações de várias superclasses Pode levar a conflitos quando atributos e operações de superclasses diferentes tem o mesmo nome e semânticas diferentes Torna a hierarquia de classes mais complexa Livro +autor +edicao +datapublicacao +ISBN GravacaoDeVoz +narrador +duracao +datagravacao LivroEmAudio Fitas +fitas: Fitas[1..*] 40
41 Polimorfismo Formalmente polimorfismo vem do grego e significa várias formas. No caso da OO, polimorfismo denota uma situação na qual um objeto pode se comportar de maneiras diferentes ao receber uma mensagem, dependendo do seu tipo de criação. O polimorfismo é alcançado com auxílio do uso de herança nas classes e a reescrita (overriding) de métodos das superclasses nas suas subclasses. Duas subclasses de uma mesma classe podem ter implementações completamente diferentes de um mesmo método, o que leva os objetos a se comportarem de forma diferente, dependendo do seu tipo (classe). 41
42 Polimorfismo Funcionário nome salário Gerente Vendedor Diretor O cálculo do salário do vendedor pode ser diferente do cálculo de salário do diretor de vendas. O método da classe filha se sobrepõe (overrides) à da classe mãe Diretor de vendas Diretor de TI 42
43 Polimorfismo O polimorfismo nos permite decidir qual dos métodos será usado em tempo de execução. Com sobrecarga (overloading), podemos decidir qual dos métodos será usado em tempo de compilação, distinguindo pelos parâmetros passados. Impressao +imprimir(doc: DOC) +imprimir(pdf: PDF) +imprimir(txt: TXT) +imprimir(ppt: PPT) 43
Conceitos de Orientação a Objetos
Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da
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. 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 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 maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisVisibilidade e Encapsulamento
Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo
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 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 maisDiagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42
Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento
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 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 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 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 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 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 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 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 maisOrientação a objetos. Objetos ou Instâncias I
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando
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 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 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 maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de
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 maisLinguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
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. 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 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 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 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 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 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 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 maisProf: Ricardo Quintão Site:
Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Fundamentos da Programação Orientada a Objetos A Orientação a Objetos é uma tecnologia que enxerga os sistemas como sendo coleção
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 maisIntrodução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1
Introdução à Programação Orientada a Objetos Prof. Leonardo Barreto Campos 1 Sumário O que é um programa? Modelo; Programação Orientada a Objetos; Exemplo; Encapsulamento; Bibliografia. Prof. Leonardo
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 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 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 maisDaniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Herança É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e métodos
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-6 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 maisACH2002. Orientação a Objetos
ACH2002 Orientação a Objetos Professores: Delano Medeiros Beder Fátima L. S. Nunes EACH USP O que é abstração? Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os
Leia maisLinguagem de Modelagem Unificada UML
Linguagem de Modelagem Unificada UML Parte 1 Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Paradigma Orientado a Objetos Linguagem UML e seus principais diagramas Diagramas
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 maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
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 maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta
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 maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Leia maisProjeto Orientado a Objetos
Projeto Orientado a Objetos Conjunto de atividades que têm como objetivo a criação de um modelo orientado a objetos de um sistema de software de acordo com os requisitos especificados Estratégia geral
Leia maisOrientaçã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
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios
Leia maisA figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.
1-Introdução à Programação Orientada a Objetos 1.1. O que é programação orientada a objetos? Programação orientada a objetos é uma metodologia de desenvolvimento de software. Sua principal vantagem é a
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 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 mais27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:
Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)
Leia maisORIENTAÇÃO A OBJETOS Histórico:
GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a
Leia maisOrientação a Objetos (OO)
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.
Leia maisEntender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão;
POLIMORFISMO POLIMORFISMO É o último princípio que serve de base para a Programação Orientada a Objeto. Esse princípio também aposta na ideia da reutilização para facilitar o dia a dia da programação.
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 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 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 maisPADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS
PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos
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 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 maisPROGRAMAÇÃO ORIENTADA A
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, MS M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Leia maisAula 4 Encapsulamento e Relacionamento Cleverton Hentz
Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!
Leia maisDefinição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.
Abstração JAVA Definição Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Em Java, a abstração é alcançada através de classes abstratas e interfaces. Classes
Leia mais3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks
48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o
Leia maisSumário. BD Orientado a Objetos
Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO:
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 maisUNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos
UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos
Leia maisEncapsulamento. Separa a interface de um objeto dos detalhes de seu funcionamento interno. Caixa preta 2/27
Encapsulamento Encapsulamento entrada Caixa preta saída 2/27 Separa a interface de um objeto dos detalhes de seu funcionamento interno Encapsulamento Esconder os detalhes de implementação de um componente
Leia maisCurso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maisModelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite
Modelo Conceitual Análise e Projeto de Sistemas Avançados Aula 5 Allan Rodrigo Leite Modelo Conceitual Oferece uma visão das informações que são gerenciadas pelo sistema Representação e transformação da
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 maisPanorâmica da Programação Orientada a Objetos
Panorâmica da Programação Orientada a Objetos Programação orientada a objetos (POO) é uma das maiores inovações na área de desenvolvimento de software. É importante você entender a POO e limitações das
Leia maisTelevisao tamanho tela emitirsom. conectarperifericos
1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação
Leia maisIntrodução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
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 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 maisPROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Leia maisAULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisCURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO. Conceitos
CURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO Conceitos O QUE É UM OBJETO? CLASSE OBJETO OBJETO OBJETO CLASSE OBJETO OBJETO OBJETO ATRIBUTOS MÉTODOS PÚBLICO PRIVADO PROTEGIDO ABSTRATO ESTÁTICO
Leia maisUnidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,
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 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 maisRoteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos
Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br
Leia maisAula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
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 maisProgramação Orientada a Objetos
PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas
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 maisReutilização de Classes Cap. 8 Introdução à Programação OO Rafael Santos
Cap. 8 Introdução à Programação OO Rafael Santos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Um dos maiores benefícios que a Programação Orientada a
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
Leia maisA modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:
Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não
Leia maisIntrodução à Orientação a Objetos
Introdução à Orientação a Objetos Paradigmas de programação Objetos Classes Paradigma não é só uma palavra bonita! Lógico - tudo é assertiva lógica: Prolog, Mercury; Funcional tudo são listas e funções:
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 mais