Programação Orientada a Objetos

Documentos relacionados
Linguagem de Programação I Apresentação da Disciplina

Introdução ao Java. Prof. Herbert Rausch Fernandes

Capítulo 2. Orientação a Objetos

Programação Orientada a Objetos

Orientação a Objetos (OO)

Introdução à UML. Prof. Jesus José de Oliveira Neto

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Conceitos de Programação Orientada a Objetos

Programação Orientada a Objetos

O PARADIGMA ORIENTADO POR OBJETOS

Daniel Wildt

Linguagem de Programação III

Programação Orientada a Objetos em Python

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

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

Programação Orientada a Objetos

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

ORIENTAÇÃO A OBJETOS Histórico:

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

Programação Estruturada Orientada a Objetos

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

ACH2002. Orientação a Objetos

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

Engenharia de Software II e III - Material para estudo Diagrama de Classe

Laboratório de programação II

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Engenharia de Software II e III - Introdução ao Diagrama de Classe

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Desenvolvimento de Aplicações Desktop

Linguagem de Programação. Diagrama de classes

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

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

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

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO - CAMPUS TRINDADE

Modelo do Mundo Real. Abstração. Interpretação

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

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

Java para Desktop. Programação Orientada à Objetos 2 JSE

Unidade: sobrecarga, construtores e herança

DISCIPLINA: Programação de Computadores II

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Programação Orientada a Objetos JAVA - NETBEANS

Classe Abstrata e Interface

Interfaces e Classes Abstratas

Classes e Objetos. Sintaxe de classe em Java

Programação II. Cassio Diego

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

Conceitos de Programação Orientada a Objetos

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos

Programação Orientada a Objetos

Conceitos de Orientação a Objetos

POO29004 Programação Orientada a Objetos

Linguagem de Programação II Herança

Modelagem Orientada a Objeto

Herança Tiago Eugenio de Melo

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

Orientação a objetos. Objetos ou Instâncias I

Fundamentos de Orientação à objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação Orientada a Objetos

POO e C++: Herança e Polimorfismo

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Conceitos de Programação Orientada a Objetos

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

Linguagem de Modelagem Unificada UML

Os princípios do desenho orientado a objetos

Plano de Trabalho Docente Ensino Técnico

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

Desenvolvimento Web TCC Turma A-1

Levantamento, Análise e Gestão Requisitos. Aula 03

Conceitos de Programação Orientada a Objetos

Introdução à Análise e Projeto de Sistemas

Linguagem de Programação I

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

Apresentação da Disciplina

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

Conceitos Básicos. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Auto-Referenciamento e Herança

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.

RUP Unified Process. Profª Jocelma Rios

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Introdução a orientação a objetos

Requisitos de sistemas

Linguagens de Programação Aula 12

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

Unidade 3: Classes em Java Para Programadores C Classes, Objetos e Tratamento de Erros Prof. Daniel Caetano

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

C com introdução a OO

Transcrição:

Programação Orientada a Objetos Introdução Alguns conceitos importantes

Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores Herança Polimorfismo Abstração Encapsulamento

Programação Estruturada Fortemente baseada em modularização (dividir para conquistar): Unidades menores são construídas para desempenhar uma tarefa específica. Pode ser executada várias vezes. Funções podem receber parâmetros e retornar valor.

Programação Estruturada: Mecanismos de Interligação

Orientação a Objetos Representação por meio de abstrações. Ex: As crianças aprendem a reconhecer coisas simples como pessoa, carro e casa. Cada objeto é um exemplo de um determinado grupo.

Classes Classe é uma estrutura que define um tipo de dados, podendo conter: Atributos ou propriedades e; Métodos ou comportamentos. Carros Nota : na Linguagem UML (Linguagem de Modelagem Unificada) uma Classe é identificada por um retângulo. A figura acima apresenta uma divisão. Entretanto, normalmente é representada com três divisões.

Atributos Representam características de uma classe, ou seja, as peculariedades que variam de objeto para objeto. Ex: Classe Carros. Atributos: cor, quantidade de portas, etc...

Métodos ou comportamentos Representam uma atividade que um objeto de uma classe pode realizar. Ex: um objeto da classe Carros: anda, freia, acelera, etc.

Visibilidade Indica o nível de acessibilidade de um determinado atributo ou método. Pública [+] Atributo ou método pode ser usado por qualquer classe; Protegida [#] Somente a classe possuidora do atributo ou método ou suas sub-classes podem ter acesso a eles; Privado [-] Somente a classe que possui o atributo ou método poderá utilizá-lo.

Herança

Herança Para entender o conceito de herança, primeiro precisa-se saber o que são superclasse e subclasse. Superclasse: é uma classe que possui classes derivadas a partir dela. Subclasse: é uma classe derivada de uma superclasse. As subclasses herdam características de uma superclasse (atributos e métodos).

Herança Pode-se criar uma nova classe, acrescentando recursos a uma classe já construída, ou modificando alguns recursos desta classe. A nova classe herda os recursos já disponíveis na classe anterior. No exemplo dado, carros (Classe Carro) e motos (Classe Moto) são tipos de veículos, ou seja herdam características da Classe Veiculos.

Herança - Vantagem A principal vantagem é o compartilhamento de atributos e comportamentos entre classes de uma mesma hierarquia. Podemos reaproveitar uma estrutura já existente que nos forneça uma base abstrata para o desenvolvimento de software.

Herança: Especializações Podemos criar classes gerais, com características compartilhadas por muitas classes (Veiculo), mas que possuem diferenças pequenas entre si (Carros possuem portas, motos não).

Herança Múltipla Ocorre quando uma subclasse herda características de duas ou mais superclasses. RÁDIO RELÓGIO RÁDIO RELÓGIO Java abandona a ideia de herança múltipla. Em seu lugar usa-se interfaces.

Polimorfismo O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). Na herança vimos que todo Carro é um Veículo, pois é uma extensão deste. Podemos nos referir a um Carro como sendo um Veículo. Pois Carro é um Veículo. Essa é a semântica da herança.

Polimorfismo Polimorfismo é a capacidade que de um determinado Objeto ser referenciado de várias formas. Ele permite programar no geral em vez de programar no específico. Vantagens: Podemos implementar sistemas que são facilmente expansíveis novas classes podem ser adicionadas a partes gerais do programa com poucas modificações.

Polimorfismo

Abstração Capacidade de considerar de forma isolada, simplificar, determinar o problema genericamente, dando importância aos aspectos mais relevantes. Na prática, construir peças (classes) bem definidas que possam ser reaproveitas, formando uma estrutura hierárquica.

Classes Abstratas Classes estruturais, que servem de base para outras. São classes que nunca serão instanciadas na forma de objetos; somente suas derivadas serão. Ex: Uma pessoa pode ter uma ContaCorrente ou um ContaPoupança, mas jamais poderá ter uma Conta.

Exemplo: Classe Abstrata - Conta

Encapsulamento Processo de proteger os membros de uma classe, permitindo que somente os membros públicos sejam acessados pelo usuário da classe.

Exercício Pesquise e comente sobre a importância do desenvolvimento de software usando o paradigma de programação orientado a objetos. Procure saber sobre: design patterns. Tente descobrir a razão pela qual as empresas estão utilizando cada vez mais de padrões de projeto.

Referências Bibliográficas Mendes; Java com Ênfase em Orientação a Objetos, Novatec. Deitel; Java, como programar 6º edição. Arnold, Gosling, Holmes; A linguagem de programação Java 4º edição. Apostilas da Caelum.