Programação Orientada a Objeto POO

Documentos relacionados
Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

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

Programação Orientada a Objetos

Programação I Apresentação

Daniel Wildt

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

Programação Estruturada Orientada a Objetos

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

Profª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.

Introdução a Algoritmos

Fundamentos de Programação 1

Requisitos de sistemas

Programação Orientada a Objetos

Programação Orientada a Objetos

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Programação Orientada a Objetos

Curso de PHP. - Início 22 de agosto - Término 20 de outubro. -Aulas: segunda e quinta-feira -Horário:18h às 20h. -Carga horária do curso: 40h

Lista de Exercícios AV1

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Desenvolvimento de programas

O PARADIGMA ORIENTADO POR OBJETOS

Introdução a Orientação a Objetos

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

Programação I 2º Bimestre (material 1)

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Prof. Esp. Fabiano Taguchi

Apresentação da Disciplina

Introdução à Orientação a Objetos

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS - ORIENTAÇÃO A OBJETOS

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

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

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

POO. Programação Orientada a Objeto. Introdução a POO. Professor Jarbas Araújo

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

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Plano de Trabalho Docente Ensino Técnico

QUESTÃO 2: Sobre os relacionamentos utilizados no diagrama de caso de uso, analise as assertivas a seguir.

Introdução a orientação a objetos

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

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Carga Horária: 60 h Créditos: 3 Pré-requisito: Não se aplica Professor(a): A definir Matricula: A definir Titulação: A definir

Lógica de Programação

Fundamentos de Orientação a Objetos

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

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

Conceitos de Programação Orientada a Objetos

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO

PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos Iniciais

Classes e Objetos. Sintaxe de classe em Java

C com introdução a OO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Panorâmica da Programação Orientada a Objetos

Engenharia de Software

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Introdução à Orientação a Objetos

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

Conceitos de Programação Orientada a Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno

LINGUAGEM DE PROGRAMAÇÃO

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Conceitos/princípios da orientação a objeto

Conceitos de Programação Orientada a Objetos

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Fundamentos de Programação

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática

TAD: Tipo Abstrato de Dados (parte 1)

Fluxogramas. Leandro Tonietto ago-09

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Engenharia Reversa e Reengenharia Software 13/05/2015

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

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

PLANO DE ENSINO CURSO: BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Programação Orientada a Objetos

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Linguagem de Programação

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

Complexidade do Software

POO e C++: Herança e Polimorfismo

Apresentação. Informação geral + Conceitos iniciais

Desenvolvimento de Aplicações Desktop

Programação Orientada a Objetos

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

Plano de Trabalho Docente Ensino Técnico

PLANO DE ENSINO CURSO: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS. DISCIPLINA: Programação Orientada a Objetos

Lógica de Programação UML Caso de Uso

Transcrição:

Universidade Federal do Vale do São Francisco Programação Orientada a Objeto POO Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Página: www.univasf.edu.br/~marcelo.linder

Ementa Conceitos de orientação a objetos. Tipos e classes. Identificação de objetos. Abstrações, generalização, sub-classes e instanciação. Herança. Polimorfismo. Abstração de agregação. Construtores e destrutores. Aplicações dos conceitos em linguagens de programação orientadas a objetos. Técnicas para extração e reconhecimento de objetos e classes do mundo real em elementos de software. 2

3 Forma de Avaliação A avaliação será realizada mediante a aplicação de duas provas e um trabalho. A média do aluno na disciplina será calculada através do computo da média aritmética obtida com base nas notas do discente. OBS.: O trabalho poderá vir a ser substituído por uma prova. Material de apoio Informações Gerais Os slides utilizados em aula, descrição de trabalhos, datas de avaliações e demais informações referentes à disciplina encontram-se na página (Ex.: PD) www.univasf.edu.br/~marcelo.linder

4

O que vamos estudar? Estudaremos os conceitos que nos possibilitaram responder a estas perguntas: - O que é o paradigma orientado a objeto? - Por que programar orientado a objeto? - Necessito de uma linguagem de programação para estudar/compreender o paradigma orientado a objeto? - Como representar meus sistemas desenvolvidos com o paradigma orientado a objeto? - Quais linguagens utilizar para implementar meu sistema? - Como utilizar estas linguagens? 5

O que é um paradigma? Um modelo ou um padrão. Em outras palavras: É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos que direcionam o pensamento. 6

7 Vocês já estudaram algum paradigma de programação? Sim. Quantos? Um. Ou seriam dois? Qual (is)? O paradigma de programação estruturada. O paradigma de programação procedural ou imperativa. Obs.1: Na realidade a programação estruturada não é considera um paradigma de programação. Obs.2: É possível intuir que nos primórdios da programação se programava sem uma metodologia, ou seja, a atividade de programar era muito peculiar a cada programador. Gerando? Uma insegurança na qualidade dos softwares produzidos.

Por volta da década de 1970, com o advento da programação estruturada, ocorreu uma grande melhora na qualidade dos softwares produzidos e, por fim, ocorreu o surgimento do paradigma de programação imperativa. Em que baseia-se a programação estruturada? O princípio básico de programação estruturada é que um programa é composto por blocos elementares de código que se interligam através de três mecanismos básicos, que são sequência, seleção e iteração. 8

Em que baseia-se o paradigma de programação imperativa/procedural? O paradigma de programação imperativa/ procedural baseia-se na resolução de um problema através da definição de procedimentos responsáveis pela resolução de subproblemas resultantes da decomposição do problema inicial em sub-problemas menores. Considerando o problema da gestão acadêmica, como resolvê-lo com o paradigma de programação imperativa? No caso de nossa instituição temos o SIG@... 9

Como implementá-lo? Começar por onde? Definir suas funcionalidades: - Lançar disciplinas; - Especificar público para as vagas nas disciplinas; - Efetuar matrícula; - Lançar notas; - Consultar média; - Lançar faltas;... 10

Para determinarmos que é necessário lançar disciplinas e especificar público para as vagas nas disciplinas pensamos nas funções do coordenador; Para determinarmos que é necessário efetuar matrícula e consultar média pensamos nas atividades executadas pelo aluno; Por fim, para determinarmos que é necessário lançar notas e lançar faltas pensamos nas funções do professor. Por que isso acontece? Porque vivemos em um mundo composto por objetos. 11

Em uma universidade temos pessoas que por sua vez são funcionários ou alunos, os funcionários são professores ou técnicos. É fácil visualizar que estes objetos, ou melhor, componentes do sistema, possuem funções, por exemplo, os professores têm a função de registrar as notas, registrar as faltas e etc.. Devido a observação deste fato foi criado o paradigma orientado a objeto. Se no nosso cotidiano estamos envoltos por objetos, por que não é ensinado apenas o paradigma da programação orientada a objeto ou por que este não é ensinado antes do paradigma de programação imperativa? 12

Porque o paradigma orientado a objeto requer um grau de abstração maior e, além disto, percebemos que mesmo no contexto da orientação a objeto temos funções desempenhadas pelos objetos. Se a orientação a objeto pressupõe mais capacidade de abstração e sendo assim de análise, por que utilizá-la? Visando uma maior facilidade na: - compreensão do problema/solução; - correção/validação do sistema desenvolvido/proposto; - manutenção do sistema desenvolvido; - reutilização do sistema desenvolvido; - e extensão do sistema desenvolvido. 13

Por que? É mais fácil compreender o que condiz com nosso cotidiano; É mais fácil corrigir o que se compreende melhor; A grande questão é que ao escrevermos o código-fonte de um programa utilizando a programação imperativa, ao existir a necessidade de modificarmos as características de um determinado objeto, encontraremos uma grande dificuldade em localizar quais as ações executadas por/com este objeto e quais destas devemos adequar às novas características; Além, do fato de reutilizar objetos ser muito mais plausível do que reutilizar funções; Estas características conduzem a uma maior facilidade na extensão. 14