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.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Introdução a Programação Orientada a Objetos
Paulo Marques Hernâni Pedroso
Diagrama de Classes.
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Modelagem Orientada a Objetos
1 Orientação a Objetos: Herança Alcides Calsavara.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Iniciação ao Java – Márcio F. Campos
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Linguagem de Programação II
Linguagem de Programação II
Wagner Santos C. de Jesus
Classes e objetos P. O. O. Prof. Grace.
TÉCNICAS DE PROGRAMAÇÃO II
Curso de extensão em Desenvolvimento Web
Polimorfismo em C#.
Programação Orientada a Objetos com Java
Diagrama de Classes e Colaboração
Linguagens Orientadas a Objeto
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Atributos, Encapsulamento e Interface em Java
Métodos de Construção de Software: Orientação a Objetos
Classes, Objetos, Atributos e Métodos JAVA
Linguagens de Programação II Aula 04 – Entendendo Classes
Professora Lucélia Oliveira
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Programação Orientada à Objetos
Curso de Aprendizado Industrial Desenvolvedor WEB
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
SISTEMAS DISTRIBUIDOS Aula 4
Programação Orientada a Objetos - Java
Análise Orientado aos Objetos Prof. Wolley W. Silva
PROGRAMAÇÃO ORIENTADA A OBJETOS
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
Orientação a Objetos usando Java
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Polimorfismo.
POO II JEAN CARLO MENDES
Interfaces POO Avançado.
Classes Abstratas e Interface
Herança e Arquitetura em camadas
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Introdução a Programação Orientada a Objetos
Introdução a Orientação a Objetos
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
4 CONCEITOS BÁSICOS EM POO Dilvan Moreira.  Objetos  Classes  Herança  Polimorfismo Lembrando: 4 Conceitos Básicos.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Laboratório de Programação II Método main Dados e Métodos de Classes.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Jean Carlo mendes
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

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 no mundo real possuem duas características básicas: todos possuem estados/propriedades e comportamentos/funcionalidades apropriados. –Exemplo: um cachorro estados: nome, raça. Comportamento: balançar rabo, enterrar osso.

Software e objetos Objetos no contexto de um software representam objetos do mundo real. Assim eles também possuem estados e comportamentos. Objetos registram seus estados em uma ou mais variáveis. Um objeto implementa seu comportamento utilizando-se de métodos. Um método é uma função ou uma subrotina que está associada a um objeto.

Definição Um objeto é um conjunto de variáveis e métodos correlacionados. variáveis Método

Um Objeto Assim dados um determinado objeto, por exemplo o aluno João, este possui suas próprias variáveis e seus próprios métodos. Instância é outro nome de um objeto específico. –Assim as variáveis de um objeto específico são as variáveis de instância, assim como os métodos de instância.

Encapsulamento O diagrama anterios mostra as variávesi do objeto ao centro. Os métodos a sua volta escondem as variáveis de outros objetos. O empacotamento destas variáveis é chamado de encapsulamento. Entretanto existe ainda possibilidade de se deixar certas variáveis de um objeto serem acessadas diretamente.

Encapsulamento O fato de encapsular variáveis e métodos sob o conceito de objetos possibilita dois importantes benefícios. –Modularidade. –Ocultação de informação.

Mensagens Um único objeto não é de muita serventia. Um programa possui vários objetos que se interrelacionam. É atraves destas inter- relações que os programa obtém sua funcionalidade. Os objetos se interrelacionam a partir de mensagem que trocam entre si.

Mensagens Objeto A Objeto B Mensagem

Mensagens Invariavelmente, quando da comunicação entre objetos, é necessário a passagem de parâmetros para tornar a mensagem mais específica Cliente Garçom SolicitarSuco(morango)

Mensagens Assim uma mensagem possui 3 componentes: –O objeto que receberá a mensagem. –A mensagem em si. –Qualquer parâmetro necessário para a mensagem.

Mensagens Mensagens possuem dois benefícios importantes: –As mensagem entre objetos envolvem praticamente todo a manipulação de comportamento de um objeto. –Um objeto não necessita estar em um mesmo processo, ou em uma mesma máquina para receber a mensagem.

Classes No mundo real tem-se muitos objetos de um mesmo tipo. Por exemplo alunos. Assim um determinado aluno é uma instância (objeto) de uma determinada classe. Em particular cada objeto possui suas próprias variáveis e métodos com seus próprios valores e comportamentos apropriados.

Classes Em software pode-se obter a vantagem do fato dos objetos compartilharem um conjunto de variáveis e métodos, ou seja serem do mesmo tipo. Pode-se criar um molde para se criar estes objetos. Este molde se chama classe.

Definição de Classe Uma classe é um molde de define as variáveis e os métodos comuns a todos todos os objetos de um determinado tipo.

Variáveis de Classe O classe pode possuir variáveis. Uma variável de classe possui informação que é compartilhada por todas as instâncias da classe. Exemplo, se os carros que saem de uma linha de produção possuem 4 rodas, então ao invés da variável número de rodas estar associada ao objeto, esta estaria associada a classe. Qualquer alteração neste valor implicaria na mudança de valor para todos as instâncias.

Métodos da Classe Uma classe também pode declarar um método de classe. Estes métodos somente podem ser chamados através da classe, enquanto que os métodos de instância somente podem ser chamados pelas respectivas instâncias.

Objetos e Classes Os objetos existem. As classes são apenas os moldes deste objetos. variáveis Método As classes serão representados com fundo cinza para diferenciar do objetos de fundo transparente.

Herança Uma das vantagens dos sistemas orientados a objetos é que as classes podem ser definidas utilizando-se outras classes. Por exemplo, podemos definir a classe cadeira. –Sabemos que cadeira de rodas, cadeira de balanço e cadeira escolar são também cadeiras. –O que sabemos também é que cada uma destas cadeiras possui um conjunto particular de variáveis e comportamento.

Herança variáveis Método variáveis Método variáveis Método variáveis Método Cadeira Cadeira de RodasCadeira de balanço Cadeira escolar

Herança Neste caso as classes cadeira de rodas, cadeira escolar e cadeira de balanço herdam todos as variáveis e métodos definidos nas classe cadeira. Um subclasse pode adicionar novos métodos e variáveis específicos de sua característica. Entretanto uma subclasse pode sobrepor uma variável ou método herdado.

Herança Uma subclasse possibilita a especificação de comportamentos especializados. É através de herança que se pode se reutilizar código. Pode-se definir uma classe abstrata que define apenas os comportamentos. Fica a cargo das classes descendente a implementação destes métodos.

Polimorfismo Várias classes podem implementar uma mesmo método, porém de forma diferente. Exemplo: –o método CalcularArea de um polígono. –Classe Polígono e subclasses retângulo, quadrado, triângulo.

Interfaces Um interface é uma declaração de um conjunto de métodos que não contém código de implementação. Uma classe pode implementar várias interfaces.

Exemplos em Java Classe ponto. public class Point { // Variáveis public int x = 0; public int y = 0; // método de construção public Point(int x, int y) { this.x = x; this.y = y; }

Exemplos em Java Classe retângulo public class Rectangle { public int width = 0; public int height = 0; public Point origin; // Método de coonstrução public Rectangle(Point p, int w, int h) { origin = p; width = w; height = h; }

Exemplos em Java public class CreateObjectDemo { public static void main(String[] args) { // cria o objeto ponto e um retangulo Point origin_one = new Point(23, 94); Rectangle rect_one = new Rectangle(origin_one, 100, 200); }

Referências The Java Tutorial - a practical guide for programmers. Thinking in Java. Bruce Eckel. Disponível na internet.

Dúvidas?