Conceitos básicos de programação orientada a objetos

Post on 17-Dec-2014

4.186 views 1 download

description

 

Transcript of Conceitos básicos de programação orientada a objetos

Básico de programação orientada a objetosAbril/2010

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCOUNIVERSIDADE ABERTA DO BRASILDEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICACurso de Bacharelado em Sistemas de Informação

Leonardo Melo Santosleonardomelosantos@gmail.com

Introdução a orientação a objetos

Capítulo 1

Evolução das linguagens de programação Linguagem de máquina e linguagem

montadora Muitos comandos para fazer alto simples; Exigência de muito conhecimento; Códigos não tão legíveis;

Linguagens de alto nível Popularização do uso dos computadores; Códigos mais amigáveis devido à

complexidade dos problemas;

Paradigmas de programação 1) Paradigma imperativo

Código mais amigágel que linguagens montadoras;

Código sequencial; 2) Paradigma procedural

Paradigma imperativo mas com o uso de subrotinas (funções e procedimentos);

Paradigmas de programação 3) Programação Modular e

EstruturadaSurgiu com a demanda de grandes

projetos;Agrupamento de código-fonte através

de módulos;Mais facilidade na manutenção do

código-fonte;

Paradigmas de programação 4) Paradigma orientado a objetos

O problema é partido em vários pedaços, a ponto de definirmos objetos/entidades;

Visa aproximar a maneira como construímos os programas com o mundo real;

Vamos comparar!!!

Introdução a orientação a objetos

Capítulo 2

Conceitos de Orientação a Objetos

Classe e Objeto Abstração

Classificação/Instanciação;Agregação/Composição;Associações simples;Encapsulamento;Generalização/Especialização;Polimorfismo;

O que é classe e o que é objeto? Classe: Uma classe é a descrição de um

grupo de objetos com propriedades (atributos), comportamentos (métodos), e relacionamentos com outros objetos (associações e agregações);

Objeto: Denota uma entidade, seja ela de natureza física, conceitual ou de software. Elementos como pessoas, organizações, máquinas, animais ou eventos podem ser considerados objetos.

O que é abstração???

Abstração é considerada a habilidade de modelar

características do mundo real do problema que o programador

esteja tentando resolver.

Classificação/Instanciação

Classificar significa agrupar objetos com base em estruturas e comportamentos semelhantes;

Instanciar objetos significa gerar novos exemplares a partir de uma descrição abstrata de um objeto genérico.

Classificação/Instanciação

Agregação/Composição

A ideia de agregação ou composição estabelece a criação de novas classes de objetos a partir da junção de classes já existentes.Agregação: Quando unimos um conjunto de

objetos para formarmos um novo objeto;Decomposição: Quando, analisando um

objeto, isolamos cada um de seus componentes.

Agregação/Composição

Associações simples

As entidades envolvidas apresentam existências independentes, mas existe uma ligação entre elas. A agregação não é única forma de relacionamento entre objetos e classes.

Associações simples

Encapsulamento

Um dos aspectos mais positivos da programação modular foi a ideia de encapsulamento de informações.

Encapsulamento

Generalização/Especialização Generalização e especialização são

abstrações que permitem o reuso de objetos através da criação de classes de objetos a partir de outras classes.

Generalização/Especialização

Polimorfismo

um mesmo tipo de objeto, sob certas condições, pode realizar ações diferentes ao receber uma mesma mensagem. Ou seja, objetos podem ter reações diferentes ao mesmo estímulo.

Polimorfismo

Dicas de estudo

Foquem seus estudos em Abstração: Classificação/Instanciação; Agregação/Composição; Associações simples; Encapsulamento; Generalização/Especialização; Polimorfismo;

Instalem o Java SDK , Eclipse e

pratiquem!!!

Dúvidas?