Profº. Enrique Pimentel Leite de Oliveira



Documentos relacionados
EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Programação Orientada a Objetos em Java

Prof. Jhonatan Fernando

Introdução a Java. Hélder Nunes

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Orientação a Objetos

Técnicas de Programação II

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Análise e Projeto Orientados por Objetos

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Polimorfismo. Prof. Leonardo Barreto Campos 1

Orientação a Objetos com Java

Linguagem de Programação III

Orientação à Objetos. Aécio Costa

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Programação Orientada a Objetos em Java. Herança

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

UML Aspectos de projetos em Diagramas de classes

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

3. PARADIGMA ORIENTADO A OBJETOS

Java. Marcio de Carvalho Victorino

Reuso com Herança a e Composiçã

Implementando uma Classe e Criando Objetos a partir dela

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com

Roteiro do Programa e Entrada/Saída

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Programação Orientada a Objetos em java. Polimorfismo

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

POO Programação Orientada a Objetos. Classes em Java

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Orientação a Objetos

Programação de Computadores - I. Profª Beatriz Profº Israel

NetBeans. Conhecendo um pouco da IDE

ProgramaTchê Programação OO com PHP

ProgramaTchê programatche.net Programação OO com PHP

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

Prof. Esp. Adriano Carvalho

Linguagem de Programação I. Orientação a Objetos em Java

Herança. Alberto Costa Neto DComp - UFS

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Programação por Objectos. Java

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Java 2 Standard Edition Como criar classes e objetos

Geração de Código em C para Simples

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

3 Classes e instanciação de objectos (em Java)

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Introdução a POO. Introdução a Linguagem C++ e POO

Factory Method. Edeyson Andrade Gomes

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Encapsulamento de Dados

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Tópicos em Engenharia de Computação

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Projeto de Software Orientado a Objeto

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

3.1 Definições Uma classe é a descrição de um tipo de objeto.

PHP INTRODUÇÃO CLASSES E OBJETOS

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

CURSO DE PROGRAMAÇÃO EM JAVA

formação em programação em c/c++

UNIVERSIDADE FEDERAL DO PARANÁ

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Programação Orientada a Objetos C++

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Tópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe

DEFINIÇÃO DE MÉTODOS

Análise e Projeto Orientados por Objetos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos

Análise de Programação

Aula 1 Tipo Abstrato de Dados

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Herança e Polimorfismo de Inclusão

2 Diagrama de Caso de Uso

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Desenvolvimento de um Simulador de Gerenciamento de Memória

Sobre o Professor Dr. Sylvio Barbon Junior

Programação Orientada a Objetos (DPADF 0063)

Programação com Acesso a BD. Programação com OO Acesso em Java

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

Programação Orientada a Objeto

UML Unified Modeling Language

Engenharia de Software III

Transcrição:

Profº. Enrique Pimentel Leite de Oliveira

O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados.

Existem duas fases distintas mas que são imprescindíveis ao sucesso do nosso projeto: a formalização do que estamos criando e a transformação da formalização (projeto) em algo físico. Essas duas fases estão representadas no mundo orientado a objetos pela classe (formalização, projeto de algo) e pelo objeto (transformação do projeto em algo físico, ou seja, uma variável na memória).

Segundo SEBESTA [Sebe2000], abstração é uma visualização ou uma representação de uma entidade que inclui somente os atributos de importância em um contexto particular. Seu propósito na programação é: diminuir a complexidade; permitir que os programadores se concentrem apenas nos atributos essenciais.

Abstração de processo public void fatorial(int inumber) {... } Abstração de dados Ocultar informações irrelevantes, preocupandose apenas com as características e a forma de comunicação.

Bloco de construção de um aplicativos de POO; Representa um elemento ou entidade do mundo real dentro de um determinado domínio; MÉTODOS ATRIBUTOS

Sintaxe para criação de objetos: <Tipo> <nome> = new <Tipo>(); Exemplos: Computador comp1 = new Computador(); Pessoa pess = new Pessoa();

A comunicação entre métodos ocorre através das mensagens; MENSAGEM OBJETO B OBJETO A

Ao receber uma mensagem, um objeto necessita executar uma ação; As ações ocorrem através de procedimentos denominados métodos.

Determinam como um objeto agirá ao receber uma mensagem; Implementa abstração de processos, uma que o objeto que envia a mensagem não necessita saber como o receptor irá tratá-la; São usados para dar acesso às funcionalidades dos objetos.

Os modificadores dos métodos são: Modificador Significado virtual O métodos pode ser sobrescrito abstract override extern O método deve ser sobrescrito (permitido apenas em classes abstratas) O método se sobrepõe a um método da classe-base (deve ser usado se um método estiver sendo sobrescrito) A definição do método se encontra em outro lugar

Fornecem acesso aos dados contidos no objeto; Exemplo: class Pessoa { private string strname; public string GetSetName { get {return strname;} set {strname = value}; } }

Pode ser definida como a união de objetos com características semelhantes a partir de um domínio Provê todas as informações necessárias para construir e utilizar objetos de um tipo particular Possuem atributos, métodos e propriedades Permite a instanciação de múltiplos objetos

Definição de classe em C#: class FirstClass { //atributos //propriedades //métodos }

Os modificadores que podem ser utilizados na construção das classes são: Modificador none ou internal public abstract ou internal abstract public abstract sealed ou internal sealed public sealed Significado A classe é acessível apenas dentro do projeto atual. A classe é acessível de qualquer lugar A classe é acessível apenas dentro do projeto atual, não podendo ser instanciada, apenas derivada A classe é acessível de qualquer lugar, não podendo ser instanciada, apenas derivada A classe é acessível apenas do projeto atual, não podendo ser derivada, apenas instanciada A classe é acessível de qualquer local, não podendo ser derivada, apenas instanciada

Descrevem as características de um objeto: Exemplo: Um objeto pessoa possui os atributos: nome, endereço etc. Normalmente é utilizado internamente na classe (A exposição das características da classe é tarefa das propriedades)

Acessibilidade dos atributos: Modificador public private Internal protected Significado Atributo acessível a partir de qualquer código Atributo acessível apenas para o código que faz parte da classe (o padrão se nenhuma palavra-chave for usada) Atributo acessível apenas para o código dentro do projeto em que ele é definido Atributo acessível apenas para o código que faz parte da classe, ou uma classe derivada

O construtor é um método que possui o mesmo nome da classe, não retorna nenhum valor e é chamado cada vez que um objeto da classe é criado Por padrão, quando não criamos nenhum construtor, o construtor vazio, que não recebe nenhum parâmetro e também não executa nenhum código, é criado automaticamente.

Exemplo:: class Cliente { int codigo; string nome; } public Cliente(int cod, string nom) { codigo = cod; nome = nom; }

Assim como os construtores, são métodos especiais que liberam os recursos alocados pelo objeto São executados quando o garbage collector elimina um objeto da memória

Sobrecarregar um método traz a possibilidade de termos diferentes versões do mesmo método ou propriedade que, mesmo possuindo o mesmo nome, aceitam um número diferente de parâmetros ou parâmetros de tipos diferentes O compilador diferencia o método que deve ser executado pelo número, tipo ou/e ordem dos parâmetros. Sobrecarga de construtores

! É o agrupamento dos dados e funções relacionados a uma classe Permite determinar a forma como os membros da classe serão expostos Possibilita baixo acoplamento, tornando as classes independentes Em C#, pode-se utilizar propriedades para acessar os atributos de uma classe, garantindo a integridade

" Um dos recursos mais importantes da POO Possibilita que as classes derivadas (filhas, sub-classe) herdem todas as características da classe base (mãe) Permite que criemos classes mais específicas

" Em C#, para dizermos que uma classe herda de outra, utilizamos : (dois pontos) na definição da classe como descrito abaixo: class <nomedaclassefilha>:<nomedaclassepai> É importante ressaltar que em C# não existe herança múltipla para classes

# Polimorfismo se refere à capacidade de criação de múltiplas classes com funcionalidades diferentes mas que possuem os mesmos métodos e propriedades, só que implementados de maneiras diferentes

$ Agrupamento de classes com um propósito comum Todos projeto tem um ou mais namespaces Utilizado para organizar os projetos e bibliotecas

%# WATSON, Karli Beginning C# Programando 2002 Makron Books; KAMIENSKI, Carlos Alberto Apostila de Introdução ao Paradigma de Orientação a Objetos; ZAINA, Luciana Martinez Apostila de Linguagem de Programação Orientada a Objetos 2004; MENEZES, Marden - Introdução a Orientação a Objetos Disponível em http://www.linhadecodigo.com.br/artigos.asp?id_ac =316