Baixe o app para aproveitar ainda mais
Prévia do material em texto
Orientação a Objetos Marcelo José Siqueira Coutinho de Almeida marcelo@ifpb.edu.br Introdução à • Consiste na abordagem ou foco adotado pelo desenvolvedor em relação a um problema específico. • Como modelar o problema? • O que é mais importante no domínio de problema? • Focar em entidades ou operações? 2 • Influencia tanto a metodologia de desenvolvimento como a linguagem de programação. 3 • Existem diversos paradigmas: – Estruturado (procedural): Pascal, C, Fortran – Declarativo: Prolog, ALF, Göddel – Funcional: Erlang, Haskel, Lisp – Orientado a objetos: Simula, C++, Java – Híbrido: Objlog, Javascript 4 5 • É um paradigma de desenvolvimento de software que utiliza o objeto como perspectiva para representar o mundo e seus sistemas – Tem muito a ver com a forma como compreendemos o mundo à nossa volta – Mais intuitivo – Adequado principalmente à problemas que requerem grande abstração 6 • Como poderíamos projetar uma biblioteca usando a orientação a objetos? Livro Funcionário Catálogo Reserva Empréstimo Usuário 7 Catálogo Livro Funcionário Biblioteca Decomposição por objetos ou conceitos Sistema de Informações da Biblioteca Sistema Registrar Empréstimo Relatar Multas Adicionar Recursos Decomposição por funções ou processos operações objetos 8 Programa Estruturado main() exibe() registrar() adicionar() Catálogo Funcionário Biblioteca Programa OO titulo autor editora ano código emprestado setEmprestado getEmprestado setTitulo getTitulo Livro operações Livro dados 9 10 • Não se trata apenas de programação... implementação projeto análise 11 • Durante a análise de um sistema torna-se mais natural (e simples) visualizá-lo utilizando a idéia de objetos • Umas das grandes promessas é a reusabilidade de código... – Software modular é mais fácil de se reusar do que software não-modular – Conceitos inerentes da OO tais como Herança, Composição e Polimorfismo facilitam a reusabilidade 12 13 • Unificação na forma como a notificação é usada public class Livro { private String titulo; public void getTitulo(){ return titulo; } } Representação na Análise de Conceitos Representação em uma Linguagem de Programação Orientada a Objetos Conceito do Domínio título Livro 14 • Simula • Smalltalk • Object Pascal • Eiffel • Self • C++ • Javascript • Python • Ruby • Java 15 Simula I (1961) Simula 67 (1967) Smalltalk (1971 ) C++ (1980) Java (1992)
Compartilhar