Classes e Objetos. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
|
|
|
- João Lucas Aleixo Moreira
- 9 Há anos
- Visualizações:
Transcrição
1 Classes e Objetos Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
2 O que é Orientação a Objetos Paradigma moderno da engenharia de software Influi na análise, projeto (design) e programação A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos? Quais as atividades a serem realizadas? Decompõe o sistema em objetos: Quais são? Que tarefas cada objeto terá que fazer? O design orientado a objetos Define como o sistema será implementado Modela os relacionamentos entre os objetos e atores (pode-se usar uma linguagem específica como UML) Utiliza e reutiliza abstrações como classes, objetos, métodos, frameworks, APIs, padrões de projeto 2
3 Análise OO (1) e Análise Procedural (2) 3
4 O que é um objeto? Um objeto é uma entidade (física, conceitual ou do domínio de algum problema) que tem: identidade estado e Comportamento Características de Smalltalk, resumidas por Allan Kay: Tudo (em um programa OO) são objetos Um programa é um conjunto de objetos enviando mensagens uns aos outros O espaço (na memória) ocupado por um objeto consiste de outros objetos Todo objeto possui um tipo (que descreve seus dados) Objetos de um determinado tipo podem receber as mesmas mensagens 4
5 Objetos Em uma linguagem OO pura Uma variável é um objeto Um programa é um objeto Um procedimento é um objeto Um objeto é composto de objetos, portanto Um programa (objeto) pode ter variáveis (objetos que representam seu estado) e procedimentos (objetos que representam seu comportamento) Analogia: abstração de um telefone celular É composto de outros objetos, entre eles bateria e botões A bateria é um objeto também, que possui pelo menos um outro objeto: carga, que representa seu estado Os botões implementam comportamentos 5
6 Objetos Em uma linguagem orientada a objetos pura Um número, uma letra, uma palavra, uma valor booleano, uma data, um registro, um botão da interface são objetos Em Java, objetos são armazenados na memória de heap e manipulados através de uma referência (variável), guardada na pilha Têm identidade (a referência) Têm estado (seus atributos) Têm comportamento (seus métodos) Valores unidimensionais (tipos primitivos) não são objetos em Java Números, booleanos, caracteres são armazenados na pilha Têm apenas identidade (nome da variável) e estado (valor literal armazenado na variável); - dinâmicos; + rápidos 6
7 Exemplo: Dois Objetos Círculo 7
8 O que é uma classe? Classes são uma especificação para objetos com propriedades semelhantes (atributos), comportamentos semelhantes (métodos) e relacionamentos comuns com outros objetos Uma classe representa um tipo de dados complexo Classes descrevem Tipos dos dados que compõem o objeto (o que podem armazenar) Procedimentos que o objeto pode executar (o que podem fazer) 8
9 Classes 9 Classes definem lógica estática Relacionamentos entre classes são estáticos, definidos em tempo de programação e não mudam durante a execução Relacionamentos entre objetos são dinâmicos e podem mudar. O funcionamento da aplicação reflete a lógica de relacionamento entre os objetos, e não entre as classes Classes não existem no contexto de execução Uma classe representa vários objetos que ocupam espaço na memória, mas ela não existe nesse domínio A classe tem papel na criação dos objetos, mas as mensagens são trocadas entre os objetos A classe é a planta, o objeto é a casa construída. Muitas casas podem ser feitas a partir da mesma planta, mas cada uma preserva sua própria identidade
10 Definição de classe em Java class Conta { Atributos String numero; double saldo; void creditar (double valor) { saldo = saldo + valor; void debitar (double valor) { saldo = saldo - valor; Métodos 10
11 Exemplo: Programa que cria e manipula Conta class CriaConta { /* Criando um objeto do tipo Conta */ public static void main (String [] args) { Conta conta1 = new Conta (); conta1.numero = ; conta1.saldo = 0; conta1.creditar (500.87); conta1.debitar (45.00); System.out.println(conta1.saldo); 11
12 Membros de uma classe: atributos e métodos Uma classe define uma estrutura de dados não-ordenada, podendo conter componentes em qualquer ordem Os componentes de uma classe são seus membros Uma classe pode conter três tipos de componentes Membros estáticos ou de classe: não fazem parte do tipo do objeto Membros de instância: definem o tipo de um objeto Procedimentos de inicialização Membros estáticos ou de classe Podem ser usados através da classe mesmo quando não há objetos Não se replicam quando novos objetos são criados ( variáveis globais da classe) Membros de instância Cada objeto, quando criado, aloca espaço para eles Só podem ser usados através de objetos Procedimentos de inicialização (construtores) Usados para inicializar objetos ou classes 12
13 Exemplo Atributos de instância: cada objeto poderá armazenar valores diferentes nessas variáveis. Procedimento de inicialização de objetos (Construtor): código é executado após a criação de cada novo objeto. Cada objeto terá um número diferente. Método de instância: só é possível chamá-lo se for através de um objeto. Atributos estáticos: não é preciso criar objetos para usálos. Todos os objetos os compartilham. Procedimento de inicialização estático: código é executado uma única vez, quando a classe é carregada. O arquiteto será um só para todas as casas: ou Zé ou Og. 13
14 Construtores São procedimentos executados na criação do objeto, uma única vez Têm o mesmo nome da classe. São similares a métodos, mas não têm tipo de retorno. Não fazem parte da definição do tipo do objeto (interface) class Conta { String numero; double saldo; Conta(String n) { numero = n; saldo = 0; void creditar(double valor) {saldo += valor; void debitar(double valor) {saldo -= valor; 14
15 Criando Objetos com Construtores... Conta conta1; conta1 = new Conta( ); conta1.creditar(500.87); conta1.debitar(45.00); System.out.println(conta1.saldo);... 15
16 Usando membros estáticos Classes podem declarar membros (campos e métodos) que sejam comuns a todas as instâncias, ou seja, membros compartilhados por todos os objetos da classe Tais membros são comumente chamados de membros de classe (versus de objetos ) Em Java, declara-se um membro de classe usando o qualifi-cador static. Daí, o nome membros estáticos usado em Java. class Conta { static String nomebanco = Itaú ; String numero; double saldo;... void creditar(double valor) {saldo += valor; void debitar(double valor) {saldo -= valor; 16
17 Objetos possuem uma interface... Através da interface é possível utilizá-lo Não é preciso saber dos detalhes de sua implementação O tipo (Classe) de um objeto determina sua interface O tipo determina quais mensagens lhe podem ser enviadas 17 Ao interagir com um objeto, levamos em conta a interface (o serviço) e não a implementação. Chamamos a isso de Abstração.
18 ...e uma implementação (oculta) Implementação não interessa a quem usa o objeto Papel do usuário da classe: não precisa saber como a classe foi escrita, apenas o nome dos métodos, seus parâmetros (quantidade, ordem e tipo) e valor de retorno assinatura do método usa apenas a interface (pública) da classe Papel do desenvolvedor da classe: define novos tipos de dados expõe, através de métodos, todas as funções necessárias ao usuário da classe, e oculta o resto da implementação tem a liberdade de mudar a implementação da classe, desde que isso não comprometa sua interface 18
19 Resumo Os componentes de uma classe, em Java, podem pertencer a dois domínios, que determinam como os mesmos serão usados Domínio da classe: existem independentemente de existirem objetos ou não métodos static, blocos static, atributos static e interface dos construtores de objetos Domínio do objeto: métodos e atributos não declarados como static (definem o tipo ou interface que um objeto possui), e conteúdo dos construtores Construtores são usados apenas para construir objetos Não são métodos (não declaram tipo de retorno) Ponte" entre dois domínios: são chamados uma vez antes do objeto existir (domínio da classe) e executados no domínio do objeto criado Separação de interface e implementação Usuários de classes vêem apenas a interface. Implementação é encapsulada dentro dos métodos, e pode variar sem afetar as classes que usam os objetos 19
20 Desenvolvendo um exemplo Uma máquina de venda de bilhetes 20
21 Máquinas de venda de bilhetes: um olhar externo Explorando o comportamento de uma máquina de venda de bilhetes: A máquina fornece bilhetes de preço fixo Os clientes inserem dinheiro na máquina e depois solicitam que um bilhete seja impresso 21 A máquina mantém um total geral do dinheiro coletado durante sua operação
22 Estrutura de uma classe básica em Java public class TicketMachine { Parte interna da classe omitida. O empacotador externo da TicketMachine public class NomeDaClasse { Campos/Atributos Construtores Métodos O conteúdo de uma classe 22
23 Atributos ou campos Atributos armazenam valores para um objeto Eles também são conhecidos como variáveis de instância Atributos definem o estado de um objeto Public class TicketMachine { private int price; private int balance; private int total; Construtor e métodos omitidos Modificador de visibilidade Tipo Nome da variável private int price; 23
24 Métodos public class TicketMachine { Atributos omitidos public TicketMachine(int ticketcost){ public int getprice(){ return price; public int getbalance(){ return balance; public void insertmoney(int amount) { public void printticket(){ 24
25 Construtores Construtores inicializam um objeto public class TicketMachine { Têm o mesmo nome de sua classe Inicializam os atributos Freqüentemente recebem valores de parâmetros externos à classe public TicketMachine(int ticketcost) { price = ticketcost; balance = 0; total = 0; 25
26 Métodos de acesso Métodos implementam o comportamento dos objetos Métodos de acesso fornecem informações sobre um objeto A classe TicketMachine possui os seguintes métodos: getprice, getbalance, insertmoney, printticket Métodos têm uma estrutura que consiste em um cabeçalho e um corpo O cabeçalho define a assinatura do método: public int getprice() O corpo engloba as instruções do método 26
27 Métodos de acesso Modificador de visibilidade Tipo de retorno Nome do método public int getprice() { return price; Início e fim do corpo do método (bloco) Lista de parâmetros (vazia) Instrução de retorno 27
28 Métodos modificadores Utilizados para modificar o estado de um objeto Geralmente contêm instruções de atribuição Geralmente recebem parâmetros Geralmente seu tipo de retorno é void Modificador de visibilidade Tipo de retorno (void) Nome do método Parâmetro public void insertmoney(int amount) { balance += amount; Instrução de atribuição 28 Campo sendo alterado
29 Variáveis locais Atributos são um tipo de variável: armazenam valores por toda a vida de um objeto são acessíveis por meio da classe (seu escopo) uma cópia do atributo por objeto instanciado Os métodos também podem declarar variáveis locais: existem apenas enquanto o método está em execução são acessíveis somente dentro do método 29
30 Variáveis locais Não se usa modificador de visibilidade public int refundbalance() { int amounttorefund; amounttorefund = balance; balance = 0; return amounttorefund; variável local 30
31 Resumindo 31 O corpo das classes pode conter atributos (campos), construtores e métodos Campos armazenam o estado de um objeto Construtores inicializam objetos Métodos implementam o comportamento dos objetos Campos, parâmetros e variáveis locais são variáveis Campos persistem pelo tempo de vida de um objeto Parâmetros são utilizados para receber valores em um construtor ou método Variáveis locais são utilizadas para armazenamento temporário de curta duração
32 Métodos estáticos Métodos estáticos (métodos de classe) Aplicam-se à classe como um todo Não é necessário criar um objeto para utilizálos São chamados especificando-se o nome da classe onde o método é declarado: NomeClasse.nomeMétodo() Todos os métodos da classe Math são static: Ex: Math.sqrt(144.0) 32
33 Atributos estáticos Campos estáticos (variáveis de classe) A mesma cópia é compartilhada entre todas as instâncias da classe (objetos) Uma espécie de variável global da classe Constantes Declaradas com a palavra-chave final. Não pode ser alterada depois da inicialização Classe Math: Campos Math.E e Math.PI são final static 33
34 34 A classe Math
35 Cooperação entre objetos Um relógio digital 35
36 Abstração e modularização Abstração é a habilidade de ignorar detalhes sobre as partes para concentrar a atenção no nível mais alto de um problema Modularização é o processo de dividir um todo em partes bem definidas, que podem ser construídas e examinadas separada-mente e que interagem de uma maneira prédeterminada 36
37 Modularização no exemplo do relógio Ou um mostrador de número de dois dígitos? Um mostrador de número de quatro dígitos? 37
38 Implementação - NumberDisplay public class NumberDisplay { private int limit; private int value; Construtor e métodos omitidos Uma classe de exibição de um dígito, com um limite superior e um valor atual 38
39 Implementação ClockDisplay public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; Construtor e métodos omitidos Um mostrador de relógio completo que contém, internamente, dois mostradores de números 39
40 40 Diagrama de objetos
41 41 Diagrama de classes
42 Tipos primitivos vs. Objetos SomeObject obj; STACK new objeto HEAP Uma referência para o objeto é armazenada na variável int i; 32 STACK tipo primitivo 42 Os tipos primitivos são armazenados na própria variável
43 Tipos primitivos vs. Objetos SomeObject a; SomeObject b; b = a; int a; 32 int b; 32 43
44 NumberDisplay (1) // Construtor public NumberDisplay(int rolloverlimit) { limit = rolloverlimit; value = 0; public void increment() { value = (value + 1) % limit; 44
45 NumberDisplay (2) public String getdisplayvalue() { if(value < 10) return "0" + value; else return "" + value; 45
46 ClockDisplay: Objetos criando objetos public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; private String displaystring; public ClockDisplay() { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); updatedisplay(); 46
47 47 Diagrama do objeto ClockDisplay
48 Objetos criando objetos Na classe NumberDisplay: public NumberDisplay(int rolloverlimit); Na classe ClockDisplay: parâmetro formal hours = new NumberDisplay(24); parâmetro real 48
49 ClockDisplay: Métodos externos public void timetick() { minutes.increment(); if(minutes.getvalue() == 0) { // retornou a zero hours.increment(); updatedisplay(); 49
50 ClockDisplay: Método interno // Atualiza a string interna que // representa o mostrador private void updatedisplay() { displaystring = hours.getdisplayvalue() + ":" + minutes.getdisplayvalue(); 50
51 ClockDisplay: Múltiplos construtores public ClockDisplay() { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); updatedisplay(); // Hora inicial 00:00 public ClockDisplay(int hour, int minute) { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); settime(hour, minute); É possível inicializar um objeto ClockDisplay de duas maneiras diferentes - sobrecarga de construtor ou método 51
52 A palavra-chave this public class MailItem { private String from; private String to; private String message; 52 public MailItem(String from, String to, String message) { this.from = from; this.to = to; this.message = message; A expressão this referencia o objeto atual, diferenciando o atributo do parâmetro
53 Relacionamento entre Objetos Associação, Agregação e Composição 53
54 Tipos de relacionamentos Objetos não são ilhas isoladas. Pelo contrário, podem existir diferentes tipos de relacionamentos entre os objetos ao longo do ciclo de vida do sistema Reuso de classe: fornece menos flexibilidade Herança pura (sobreposição): b é a Herança com extensão: b é um tipo de a Uso e reuso de objetos: fornece mais flexibilidade Associação: a é usado por b Agregação: a é parte de b Composição: a é parte essencial de b O grau de coesão entre os objetos foi colocado do mais fraco para o mais forte 54
55 Associação Representa relacionamentos mais fortes entre instâncias de classes (objetos) public class Empregado { private String matricula; private int anosservico; private String sobrenome; private String nome; private Endereco endereco;... public class Endereco {... 55
56 Agregação A agregação é um relacionamento do tipo todo/parte: É usado para mostrar uma relação de inclusão lógica, ou seja, um todo formado por partes Embora as partes possam existir independentemente do todo, sua existência é basicamente para formar o todo Exemplo: um correntista precisa de pelo menos uma conta e um endereço. Sem uma conta não se pode dizer que ele é correntista A agregação é frequentemente representada como uma simples associação 56 56
57 Composição Uma composição é um tipo de agregação. A diferença é que na composição o objeto composto faz parte de somente um relacionamento (um todo), enquanto que na agregação isso não é obrigatório Exemplo 1: um trem é formado por uma locomotiva e vagões. Uma locomotiva ainda tem um farol Exemplo 2: um Quadrado é formado por dois pontos e um Círculo tem um ponto e um raio. Cada uma dessas formas geométricas ainda tem um estilo 57
58 Composição X Agregação X Associação Um trem não existe sem a locomotiva e os vagões. Por sua vez, os dois últimos até assumem uma nova identidade ao formarem o trem Uma locomotiva possui um farol (mas não vai deixar de ser uma locomotiva se não o tiver) Um trem usa uma estrada de ferro (ela não faz parte do trem, mas ele depende dela) 58
59 Composição X Agregação A relação de Ponto com Circulo e Quadrado é uma composição, pois os mesmos não podem ser compartilhados Enquanto que o mesmo objeto de Estilo pode ser compartilhado por Circulo e Ponto (agregação) 59
60 Composição X Agregação Tradução de composição e agregação na linguagem Java public class Quadrado { // p1 e p2 são composição - new // estilo é agregação - atribuição private Ponto p1, p2; private Estilo estilo; public Quadrado(int x1, int y1, int x2, int y2, Estilo e){ p1 = new Ponto(x1, y1); p2 = new Ponto (x2, y2); estilo = e; 60
61 Dependência Composição Associação 61 61
Aula 5 Entendendo as definições de classe. Prof. Pedro Baesse
Aula 5 Entendendo as definições de classe Prof. Pedro Baesse [email protected] Campos Construtores Métodos Parâmetros Atribuição Instruções condicionais Explorando o comportamento de uma máquina
Estrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira [email protected] www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Classes 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
Linguagem 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
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Orientação a Objetos e Java
Orientação a Objetos e Java Daves Martins [email protected] Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Orientaçã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
Introduçã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 [email protected] Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Classes 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
Programaçã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
Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Relacionamento entre Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Antes de Iniciar... Vamos aprender um pouco de modelagem
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
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Introdução à Programação. Conceitos Básicos de Orientação a Objetos
Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes
Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Programação Orientada a Objetos
Programação Orientada a Objetos Paradigmas de Programação Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Paradigmas de Programação: Programação sequencial A solução para o problema se da através
Modelo 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
Programaçã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
Linguagem 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
Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Computação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Introdução No curso de Computação I vocês viram os conceitos básicos de programação em Python: expressões e comandos,
Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU
Aula 3 POO 1 Classe e Objeto 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
Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
ORIENTAÇÃO A OBJETOS
ORIENTAÇÃO A OBJETOS Mário Meireles Teixeira [email protected] O que é Orietação a Objetos Paradigma modero da egeharia de software Iflui a aálise, projeto (desig) e programação A aálise orietada a objetos
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Encapsulamento 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 [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Orientação a Objetos Básica
Orientação a Objetos Básica Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos
Programação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1 Conceitos Fundamentais Classe; Ocultamento de informação;
Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Programaçã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
15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo
DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de
Introduçã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
Linguagem 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
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de 1 Conceitos Fundamentais Classe; Ocultamento de informação; Encapsulamento; Atributo; Método;
LINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula [email protected] JAVA Como qualquer linguagem de programação, a linguagem Java tem sua própria estrutura, regras de sintaxe
Análise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Linguagem 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
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
UML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Palavras 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
Orientaçã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
PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
Lição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação
Universidade Federal de Uberlândia Faculdade de Computação Arrays em Java Prof. Renato Pimentel GGI030 Programação Orientada a Objetos GGI030 Arrays em Java Prog. Orient. Objetos 1 / 20 Sumário 1 API GGI030
Interfaces 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
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Linguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior [email protected] Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
Tema da aula Introdução ao paradigma de programação: Orientado a Objetos
Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção
PROGRAMAÇÃO ORIENTADA A
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, MS M.Sc. [email protected] ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Programação Orientada a Objetos Classes Abstratas. Sérgio Soares
Programação Orientada a Objetos Classes Abstratas Sérgio Soares [email protected] Até aqui Quando usar herança? Ao redefinir um método manter o comportamento herdado! 2 Adivinhem... Surge um novo requisito
Programação Orientada a Objetos Relacionamentos entre classes
Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Introduçã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
Aula 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
Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU
Aula 6 POO 1 Construtores 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
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Interfaces. 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 [email protected] Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
UNIVERSIDADE 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
Programaçã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(){
Programaçã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
Classe Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos [email protected] Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.
Linguagem 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
Conceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Atributos e Métodos de Classe
Algoritmos e Programação II Aula 5 Atributos e Métodos de Carga *Adaptado do material do Prof. Júlio Machado e Profa. Isabel Manssour Atributos e Métodos de Classe Java permite declarar duas categorias
O 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
Heranç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
