Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes

Preview:

Citation preview

Programação Orientada a Objetos - Java

Professor: Jean Carlo Mendes

POO - Java

• Programação Estrutura x POO• Estruturada: Modelagem baseada no

conceito de módulos ou sub-programas

• POO: Modelagem baseada nos conceitos de classes e seus relacionamentos

• Algumas linguagens OO• Smaltalk

• C++, C#, VB.NET

• Java

Conceitos Básicos de OO

• Algumas definições:

• Classe• É uma categoria de entidades

(“coisas”) . Corresponde a um tipo ou uma coleção ou um conjunto de entidades afins

• Permite que o programador encapsule os dados e as funções necessárias para manipular estes dados em um pacote único

• A classe define o “gabarito” à partir do qual os objetos serão criados.

Conceitos Básicos de OO

• Algumas definições:• Objeto• Uma entidade com existência física que

pertence a um determinado conjunto de entidades afins (classe)

• O processo de ser criar um objeto à partir de uma classe é conhecido como Instanciação

• Os dados de uma classe são chamados de Atributos

• As funções que operam sobre os Atributos de uma classe são conhecidas como Métodos

Conceitos Básicos de OO

• A palavra classe vem da taxonomia da biologia. Todos os seres vivos de uma mesma classe biológica têm uma série de atributos e comportamentos em comum, mas não são iguais, podem variar nos valores desses atributos e como realizam esses comportamentos.

Fonte: Site Caelum

Conceitos Básicos de OO

• Homo Sapiens define um grupo de seres que possuem características em comum, porém a definição (a ideia, o conceito) de um Homo Sapiens é um ser humano? Não. Tudo está especificado na classe Homo Sapiens, mas se quisermos mandar alguém correr, comer, pular, precisaremos de uma instância de Homo Sapiens, ou então de um objeto do tipo Homo Sapiens..Fonte: Site

Caelum

Conceitos Básicos de OO

• Um outro exemplo: uma receita de bolo. A pergunta é certeira: você come uma receita de bolo? Não. Precisamos instanciá-la, criar um objeto bolo a partir dessa especificação (a classe) para utilizá-la. Podemos criar centenas de bolos a partir dessa classe (a receita, no caso), eles podem ser bem semelhantes, alguns até idênticos, mas são objetos diferentes. Fonte: Site

Caelum

Representação - UML

• Um dos padrões mais conhecidos e usados de representação de classes em um projeto Orientado a Objetos é conhecido como UML (Unified Modeling Language)

• Criada para facilitar a representação e a compreensão de projetos de sistemas baseados em OO.

Representação UML• Notação de Classe

A Classe em Java...

O menor programa java

Exercícios....

• Tentem representar (UML) as seguintes classes e seus atributos e métodos:• Pessoa

• Ator

• Diretor

• Usuário

• Produtora de filmes

• Filme

• País

Herança

• Uma classe pode ser derivada de uma outra classe, herdando seus atributos e métodos.

• A criação de subclasses, ou classes filhas (classes derivadas de uma superclasse, ou classe pai) permite o aumento incremental das funcionalidades dos nossos objetos. Em outras palavras, permite uma especialização do objeto.

Herança

• Se precisarmos que um objeto faça o mesmo que um outro objeto e ainda faça “algo a mais”, podemos aproveitar o código já construído e testado e acrescentar apenas o “algo a mais” que precisamos.

Herança

• A Herança entre as classes promove o reaproveitamento de código e ainda facilita a manutenção do sistema.

Herança• A Herança entre classes pode ser representada

usando a notação UML abaixo:

Exercícios....

• Aplique o conceito de herança nas classes projetadas por você no exercício anterior (Crie os diagramas UML):• Pessoa

• Ator

• Diretor

• Usuário

• Produtora de filmes

• Filme

• País

Recommended