UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!

Slides:



Advertisements
Apresentações semelhantes
Paulo Marques Hernâni Pedroso
Advertisements

Classes Abstratas e Interfaces
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Herança, Polimorfismo e Classes Abstratas em Java
Java – Classes Abstratas
Perspectivas baseadas em procedimentos e orientadas por objectos Conceitos principais: Encapsulamento, Herança, Polimorfismo (Encapsulation, Hierarchy,
Orientação a Objetos: Modificador Final para Métodos e Classes
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Classes Abstratas Profa
Programação Concorrente
Diagrama de Classes.
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Wagner Santos C. de Jesus
Área de Desenvolvimento de Sistemas
Programação Orientada a Objetos
1 Aula 7 Herança. 2003/2004 Programação Orientada para Objectos 2 Conceitos fundamentais: Herança Polimorfismo Ligação dinâmica.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Curso de extensão em Desenvolvimento Web
Se liga aí, que é hora da revisão!
Princípios de Orientação à Objetos
Oberdan B. Ferreira Polimorfismo Oberdan B. Ferreira
Métodos de Construção de Software: Orientação a Objetos
Oberdan Bitencourt Ferreira
Herança em Java.
Professora Lucélia Oliveira
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Orientação a Objetos Parte I
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Programação Orientada à Objetos
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
SISTEMAS DISTRIBUIDOS Aula 4
Wagner Santos C. de Jesus
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação Orientada à Objetos
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Polimorfismo.
POO II JEAN CARLO MENDES
Decorator POO - Avançado.
Interfaces POO Avançado.
Classes Abstratas e Interface
Herança e Polimorfismos
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Herança Modelagem e Programação Orientada a Objetos
Orientação a Objetos Programação Estruturada e Orientada a Objetos
Introdução a Programação Orientada a Objetos
Introdução a Orientação a Objetos
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
PROGRAMAÇÃO ORIENTADA A OBJETOS
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS! Classes Objetos Herança Polimorfismo

Histórico. Linguagens orientadas a objetos só foi possível devido a ao avanço na arquitetura dos computadores. Assim sofisticados ambientes de programação puderam ser criados.

Mas qual a vantagem??? De uma forma geral o conceito da POO nos leva a simular o mundo real, então o seu entendimento pode nos ser mais intuitivo. A vantagem de uma linguagem orientada a objetos é diretamente ligada com o reaproveitamento de código.

Quais os conceitos ? Temos que entender o conceito de classe. O conceito de objetos. O conceito de herança. O conceito de Polimorfismo.

Definição de Objetos fundamentados em Classes. Representa uma entidade. FÍSICA  carro, casa, bicicleta... CONCEITO processo quimico, matricula... SOFTWAREEstrutura de dados...

Como é construído um Objeto? Não há como construir um objeto, sem antes mostrar o que é uma classe. CLASSE. Uma classe é um modelo. Mostra como será um determinado objeto. Uma classe só contém atributos e métodos. Atributo é o que sabemos de uma classe, é o estado que terá o objeto. Métodos são os comportamentos que um objeto, terá, será o que ele sabe fazer.

O QUE OS OBJETOS FAZEM? Se comunicam, por meio de mensagem.

Mas um objeto trás a idéia de Que? Como um objeto é baseado em um modelo, podemos apresentar a seguinte explicação. Pegaremos uma roda de um carrinho de bebê, é uma roda pequena de borracha maciça, com aro em plástico. Pegaremos agora uma roda de carriola, onde temos um pneu de borracha com câmara de ar, e aro em ferro orbital, ou raiada.

E as rodas de um carro?

AS RODAS DO CARRO. Opa!!! estão em ordem, e também são rodas. Todas tem uma função em comum, e servem para efetuar o deslocamento de alguma entidade de um lado a outro. Perceba que, cada roda tem o seu estado especifico, tais como tipo de material, tamanho, etc... porém todas tem o mesmo comportamento, sabem fazer a mesma coisa, que é RODAR.

POR FALAR EM CARRO... Não estamos na matrix – Para quem assistiu, viu a parte, onde o oráculo diz ao Neo que “a colher não exite”. Mas podemos afirmar que : O CARRO NÃO EXISTE. Pois o mesmo é composto de varias partes, vários objetos, e no final acabamos compondo o carro.

JÁ SABEMOS O QUE É UM OBJETO, E AGORA? Para que serve um objeto? Bom um objeto serve para se comunicar uns, com os outros, com a finalidade de construir algo maior, ok. E no mundo real??? Em um projeto de sistema real??

Está na hora de sabermos de Herança. Herança serve para efetuar a reutilização da estrutura. Vamos lá: Uma classe ANIMAL, com suas particularidades, ATRIBUTOS. Nome da classe Mãe: Animal. Atributos da classe: Tipo, peso, tamanho.

Sub-Classe CÃO da classe MÃE ANIMAL. A classe Filha,(CÃO) classe que herda as particularidades da classe mãe deve ser capaz de responder a seguinte questão para ser considerada filha. CÃO É – UM ANIMAL? Cão sabemos que sim, é um animal. Então existe, ligação de herança entre Animal e Cão.

Um exemplo de Herança. public class Animal{ private float peso; private String tipo; private float tamanho; encapsulamento de Get/Set para os atributos. public void comer(){ System.out.println(“Este animal come.”); } public void dorme(){ System.out.println(“Este animal dorme.”);

Classe Filha Cão. public class Cão extends Animal{ //*Essa classe tem todos os atributos e métodos da classe Animal, podemos mudar métodos da classe aqui na classe filha com um conceito chamado de sobrecarga e sobrescrita. *//E ainda podemos escrever mais métodos. public void morder(){ System.out.println(“O cão morde mesmo!”); } // sobreescrevendo public String comer(String comendo){ String come = comendo; System.out.println(“Este animal come CARNE!!!”+come); return (come);

POLIMORFISMO. Seus operandos podem assumir mais de um tipo. Ou seja serve para promover a reutilização de código. Por exemplo para construirmos um código 100% reutilizável, podemos fazer uso classes Abstratas e Interfaces.

Vamos descrever Classe Abstrada. Uma classe abstrata, possui atributos, e métodos com nenhuma ou uma mínima implementação. Seus métodos terminam com ponto e vírgula, não possuindo chaves como em um método concreto.

Uma classe abstrata. // A classe abstrata possúi métodos genéricos e quem for usar a classe terá que estender a classe, e implementar o método, como for necessário. public abstract class Animal{ public void comer(String c); public void dorme(String d); }

Estendendo a classe abstrata. public Cao extends Animal{ public void comer(String c){ String comer = c; system.out.println(“O cão come :”+comer); } public void dorme(String d){ String dorme = d; system.out.println(“O cão dorme na:”+dorme); // Podemos agora escrever um código próprio da classe Filha Cão public void brincar(String brinc){ String brincar = brinc; system.out.println(“O cão brinca de :”+ brincar);

Interface Implementação de um contrato. Temos que implementar todos os, métodos nela contida.

Implementando uma Interface. public interface Relogio { public String getHoras(); } ------------------------------------------------------- public interface Radio() { public void liga(); public void desliga(); public void trocaEstacao(int frequencia); }

Final Interface. public class RadioRelogio implements Radio, Relogio { // Inicializa objeto } public String getHoras() { return horarioAtual; } public void liga() { // Implementacao } public void desliga() { // Implementacao public void trocaEstacao(int frequencia) { // Implementacao } }

Final. Com o uso de interface podemos reaproveitar códigos, de maneira bastante eficiente. DÚVIDAS??? Autor: Moacir Mardegan Criado em 24/05/2012