Programação Orientada a Objetos

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

COMPORTAMENTOS - Observações

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Requisitos de sistemas

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

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

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

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

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Programação Orientada a Objetos

Interfaces e Classes Abstratas

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Terceira aula

NOVIDADES DO JAVA PARA PROGRAMADORES C

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

AULA 15 CONSTRUTORES. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Lição 7 Array em Java

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

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

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1

Aula 04 Introdução à Programação Orientada à Objetos

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

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Programação Orientada a Objetos

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

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

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Exemplo de Utilização das Classes Calendar e Date

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Array em Java. Figura 1 - Exemplo de um array de inteiros

Conceitos de Programação Orientada a Objetos

PROGRAMAÇÃO ORIENTADA A OBJETOS

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno

Unidade: sobrecarga, construtores e herança

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

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

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Programação Orientada a Objetos

Linguagem de Programação. Diagrama de classes

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Conceitos de Programação Orientada a Objetos

Universidade Estadual de Santa Cruz

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Unidade: Introdução à POO (Programação Orientada a Objetos)

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Orientada a Objetos Relacionamentos entre classes

Análise e projeto de sistemas

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

Programação Orientada a Objetos

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

Banco de Dados Relacional

Programação Estruturada Orientada a Objetos

Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos

Programação Orientada a Objetos

4 Conceito de Herança

Introdução à Programação Orientada a Objetos em C++

Linguagem de Programação Introdução a Orientação a Objetos

Lista Diagrama de Casos de Uso

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Aula 02. Prof. Diemesleno Souza Carvalho

Sobreposição de Métodos

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Introdução a Programação Web com PHP

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Como construir um compilador utilizando ferramentas Java

JAVA. Professor: Bruno Toledo

Paradigmas de Linguagens

Aula 01 Conceito de Banco de Dados e SGBD

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

Linguagem de Descrição de algoritmos

Transcrição:

Programação Orientada a Objetos

Programação Orientada a Objetos Na aula passada vimos: Introdução a linguagem java; Introdução ao Eclipse IDE; Revisão sobre programação;

Programação Orientada a Objetos Na aula de hoje veremos: Orientação a Objetos

Orientação a Objetos

Orientação a Objetos Um modelo de programação ou paradigma de programação é um conjunto de princípios, ideias, conceitos e abstrações utilizado para o desenvolvimento de uma aplicação.

Orientação a Objetos O modelo de programação mais adotado no desenvolvimento de sistemas corporativos atualmente é o modelo orientado a objetos. Este modelo é utilizado com o intuito de obter alguns benefícios específicos. Normalmente, o principal benefício desejado é facilitar a manutenção das aplicações.

Orientação a Objetos A plataforma Java será objeto de estudo desta disciplina, mas devemos lembrar que os conceitos de orientação a objetos que serão vistos poderão ser aplicados também em qualquer outra linguagem de programação que suporte o desenvolvimento orientado a objetos.

Domínio e Aplicação

Domínio e Aplicação Um domínio é c o m p o s t o p e l a s entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou tornar factível as tarefas de um domínio. Portanto, uma aplicação é basicamente o reflexo de um domínio.

Domínio e Aplicação Suponha que estamos interessados em desenvolver uma aplicação para facilitar as tarefas do cotidiano de um banco. Podemos identificar clientes, funcionários, agências e contas como entidades desse domínio. Assim, podemos identificar as informações e os processos relacionados a essas entidades.

Domínio e Aplicação

Domínio e Aplicação Geralmente, a identificação dos elementos de um domínio é feita por um analista de sistemas. É uma tarefa difícil pois depende fortemente do conhecimento das entidades, informações e processos que o compõem.

Domínio e Aplicação As pessoas que possuem esse conhecimento ou parte dele estão em contato constante com o domínio e não possuem conhecimentos técnicos para desenvolver uma aplicação. Desenvolvedores de software buscam constantemente m e c a n i s m o s p a ra t o r n a r m a i s e f i c i e n t e o entendimento dos domínios para os quais eles devem desenvolver aplicações.

Objetos, Atributos e Métodos

Objetos, Atributos e Métodos As entidades identificadas no domínio devem ser representadas de alguma forma dentro da aplicação correspondente. Nas aplicações orientadas a objeto, as entidades são representadas por objetos.

Objetos, Atributos e Métodos As entidades identificadas no domínio devem ser representadas de alguma forma dentro da aplicação correspondente. Nas aplicações orientadas a objeto, as entidades são representadas por objetos. Uma aplicação orientada a objetos é composta de objetos. Em geral, um objeto representa uma entidade do domínio.

Objetos, Atributos e Métodos Suponha que no domínio de um banco exista um cliente chamado João. Dentro de uma aplicação orientada a objetos correspondente a este domínio, deve existir um objeto para representar esse cliente.

Objetos, Atributos e Métodos Suponha que algumas informações do cliente João, como nome, data de nascimento e sexo são importantes para o banco. Já que esses dados são relevantes para o domínio, o objeto que representa esse cliente deve possuir essas informações. Esses dados são armazenados nos atributos do objeto que representa o cliente João.

Objetos, Atributos e Métodos Um atributo é uma variável que pertence a um objeto. Os dados de um objeto, ou características, são armazenados nos seus atributos.

Objetos, Atributos e Métodos O próprio objeto deve realizar operações de consulta ou alteração dos valores de seus atributos. Estas operações são definidas nos métodos do objeto.

Objetos, Atributos e Métodos Os métodos também são utilizados para possibilitar interações entre os objetos de uma aplicação. Por exemplo, quando um cliente requisita um saque através de um caixa eletrônico do banco, o objeto cliente deve interagir com o objeto que representa a conta do cliente. As tarefas que um objeto pode realizar são definidas pelos seus métodos. Um objeto é composto por atributos e métodos.

Objetos, Atributos e Métodos

Objetos, Atributos e Métodos Não é adequado utilizar o objeto que representa um determinado cliente para representar outro cliente do banco, pois os dados dos clientes são diferentes. Dessa forma, para cada cliente do banco, deve existir um objeto dentro do sistema para representá-lo. Os objetos não representam apenas coisas concretas como os clientes do banco. Eles também devem ser utilizados para representar coisas abstratas como uma conta de um cliente ou um serviço oferecido pelo banco.

Classes

Classes Antes de um objeto ser criado, devemos definir quais serão seus atributos e métodos. Esta definição é realizada através de uma classe elaborada por um programador. Uma classe, serve como um modelo de dados. A partir de uma classe, podemos construir objetos na memória do computador que executa a nossa aplicação.

Classes Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe terão os atributos e métodos definidos na mesma.

Classes Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe terão os atributos e métodos definidos na mesma.

Classes Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe terão os atributos e métodos definidos na mesma.

Classes Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe terão os atributos e métodos definidos na mesma.

Classes Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe terão os atributos e métodos definidos na mesma.

Classes Como já falado anteriormente, todos os conceitos de Orientação a Objetos apresentados aqui são genéricos. Isto significa, que valem tanto para Java, quanto para C#, Python, PHP, Ruby e qualquer outra linguagem que utilize este paradigma.

Criando Classes em Java

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java Se ainda não o fez, crie um novo pacote Java no nosso projeto chamado: iftm.poo.aula02

Criando Classes em Java No pacote da aula atual, crie uma classe Java chamada Pessoa.

Criando Classes em Java No pacote da aula atual, crie uma classe Java chamada Pessoa.

Criando Classes em Java

Criando Classes em Java

Criando Classes em Java No pacote da aula atual, crie uma classe Java chamada Pessoa.

Declarando atributos em Java

Declarando atributos em Java Atributos de classes devem ser declarados SEMPRE* como privados. * A não ser que tenha algum motivo** para fazer diferente.

Métodos Getters e Setters

Métodos Getters e Setters Conforme já estudamos*, somente quem deve manipular os atributos de uma classe é ela mesma.

Métodos Getters e Setters Conforme já estudamos, somente quem deve manipular os atributos de uma classe é ela mesma. * Vimos isso no slide 20.

Métodos Getters e Setters Os métodos de manipulação dos atributos de uma classe possuem um nome especial (padrão mas não obrigatório) em Java. Getters Pegam a informação do atributo. Setters Colocam a informação no atributo.

Métodos Getters e Setters Se uma classe tem um atributo chamado nome, então ela terá um método Getter chamado getnome() e terá um método Setter chamado setnome(string nome) Esses métodos devem ser públicos, pois devem permitir a utilização mesmo fora da classe. O mesmo vale para TODOS os atributos da classe.

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters Se uma classe tem um atributo chamado nome, então ela terá um método Getter chamado getnome() e terá um método Setter chamado setnome(string nome) Esses métodos devem ser públicos, pois devem permitir a utilização mesmo fora da classe. O mesmo vale para TODOS os atributos da classe.

Criando os métodos Getters e Setters Selecione os atributos.

Criando os métodos Getters e Setters Clique no menu Source e selecione Generate Getters and Setters...

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos Getters e Setters

Criando os métodos do objeto

Criando os métodos do objeto Geralmente, além dos métodos manipuladores dos atributos, uma classe possui métodos que manipulam o próprio objeto. As formas de criar métodos são as mesmas que já estudamos anteriormente, com única diferença que, normalmente, métodos das classes não são estáticos.

Criando os métodos do objeto

Criando os métodos do objeto

Criando os métodos do objeto OBS: Na classe Pessoa, troque: 1 - O tipo de dado do atributo nascimento de Date para LocalDate. 2 O import do java.util para java.time.localdate 3 O tipo de dado nos métodos Getter e Setter do atributo nascimento de Date para LocalDate

Criando os métodos do objeto

Criando os métodos do objeto

Criando os métodos do objeto

Instanciando objetos da classe

Instanciando objetos da classe No pacote da aula atual, crie o Programa1

Instanciando objetos da classe No pacote da aula atual, crie o Programa1

Instanciando objetos da classe No pacote da aula atual, crie o Programa1

Instanciando objetos da classe Instancie um objeto do tipo Pessoa.

Instanciando objetos da classe Instancie um objeto do tipo Pessoa.

Instanciando objetos da classe Coloque as informações dos atributos da pessoa1.

Instanciando objetos da classe Coloque as informações dos atributos da pessoa1.

Instanciando objetos da classe Acessando e imprimindo os dados do objeto

Instanciando objetos da classe Acessando e imprimindo os dados do objeto

Instanciando objetos da classe Executando o programa

Instanciando objetos da classe Executando o programa

Instanciando objetos da classe Executando os métodos do objeto.

Instanciando objetos da classe Executando os métodos do objeto.

Instanciando objetos da classe Instanciando novos objetos da mesma classe

Instanciando objetos da classe Instanciando novos objetos da mesma classe

Instanciando objetos da classe Executando o programa novamente

Instanciando objetos da classe Executando o programa novamente

Instanciando objetos da classe Como passar os dados dos atributos de uma instância via teclado?

Instanciando objetos da classe Como passar os dados dos atributos de uma instância via teclado? Da mesma forma que já aprendemos antes. ;)

Instanciando objetos da classe Como passar os dados dos atributos de uma instância via teclado? Criem o Programa2

Instanciando objetos da classe

Instanciando objetos da classe Executem o Programa2

Instanciando objetos da classe Executem o Programa2

Programação Orientada a Objetos Dúvidas?

Instanciando objetos da classe Crie uma classe para representar uma Lâmpada com os atributos: status, do tipo boolean iniciado em false; (Ex: status = false;) marca, do tipo String; (Ex: Philips ) cor, do tipo String; (Ex: Branca ) voltagem, do tipo int; (Ex: 110) frequencia, do tipo int; (Ex: 60) Hz Implemente além dos getters e setters, um método que receba um boolean como parâmetro e acenda ou apague a lâmpada. Este método, além de alterar o valor do atributo status, deve também imprimir no console uma mensagem dizendo se a lâmpada está acesa ou apagada.

Programação Orientada a Objetos