Você está na página 1de 18

Universidade Federal do Vale do So Francisco

Programao Orientada a Objeto POO


Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Pgina: www.univasf.edu.br/~marcelo.linder

Ementa

Conceitos de orientao a objetos. Tipos e classes. Identificao de objetos. Abstraes, generalizao, sub-classes e instanciao. Herana. Polimorfismo. Abstrao de agregao. Construtores e destrutores. Aplicaes dos conceitos em linguagens de programao orientadas a objetos. Tcnicas para extrao e reconhecimento de objetos e classes do mundo real em elementos de software.
2

Metodologia
A disciplina ser trabalhada com aulas expositivodialogadas, onde sero fornecidos os componentes tericos e ser feita a prtica de exerccios.

Recursos
Quadro branco, marcador, notebook e projetor multimdia.

Forma de Avaliao

A avaliao ser realizada mediante duas provas e um trabalho. A mdia do discente resultar da mdia aritmtica das notas obtidas. Observao: O aluno para obter aprovao deve ter no mnimo 75% de presena.

Bibliografia
Bibliografia Bsica:
[1] Barnes, Klling. Programao orientada a objetos com Java: Uma introduo Prtica Usando o BlueJ. Editora Pearson Prentice Hall, 4 Edio. [2] Deitel. C++ como programar. Editora Pearson Prentice Hall, 5 Edio.

Bibliografia Complementar:
[3] Booch, Grady et al. UML Guia do Usurio. Editora Elsevier Campus, 2 Edio. [4] Walter Savitch. C++ Absoluto. Editora Pearson Addison Wesley. [5] Koffman, Elliot e Wolfgang, Paul. Objetos, Abstrao, Estruturas de Dados e Projeto Usando C++. Editora LTD. [6] Deitel. Java como programar. Editora Pearson Prentice Hall, 6 Edio.
5

Referncias Bibliogrficas
[7] Page-Jones, Meilir. O que todo programador deveria saber sobre projeto orientado a objetos. Editora Makron Books, 1997.

Informaes Gerais
Material de apoio Os slides utilizados em aula, PUD, PD, datas de avaliaes e demais informaes referentes disciplina so encontradas na pgina www.univasf.edu.br/~marcelo.linder
6

Dados sobre a oferta anterior (2010.1)


Total de discentes: 23 Percentual geral de aprovao: 43,48%
1; 4%

2; 9%
Aprovados por mdia Aprovados com final Reprovados por mdia Reprovados por falta

8; 35% 12; 52%

Introduo

Introduo
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 programao 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?
9

Introduo

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

10

Introduo
Vocs j estudaram algum paradigma de programao? Sim. Quantos? 2. Quais? O paradigma de programao estruturada. O paradigma de programao procedural ou imperativa. Obs.1: Na realidade a programao estruturada no considera um paradigma de programao. Obs.2: possvel intuir que nos primrdios da programao se programava sem uma metodologia, ou seja, a atividade de programar era muito peculiar a cada programador. Gerando? Uma insegurana na qualidade dos softwares produzidos.
11

Introduo
Por volta da dcada de 1970, com o advento da programao estruturada, ocorreu uma grande melhora na qualidade dos softwares produzidos e por fim ocorreu o surgimento do paradigma de programao imperativa. Em que baseia-se a programao estruturada? O princpio bsico de programao estruturada que um programa composto por blocos elementares de cdigo que se interligam atravs de trs mecanismos bsicos, que so seqncia, seleo e iterao.

12

Introduo
Em que baseia-se o paradigma de programao imperativa? O paradigma de programao imperativa baseia-se na resoluo de um problema atravs da definio de procedimentos responsveis pela resoluo de subproblemas resultantes da decomposio do problema inicial em sub-problemas menores. Considerando o problema da gesto acadmica, como resolv-lo com o paradigma de programao imperativa? No caso de nossa instituio temos o SIG@...
13

Introduo
Como implement-lo? Comear por onde? Definir suas funcionalidades: - Lanar disciplinas; - Especificar pblico para as vagas nas disciplinas; - Efetuar matrcula; - Lanar notas; - Consultar mdia; - Lanar faltas; ...
14

Introduo
Para determinarmos que necessrio lanar disciplinas e especificar pblico para as vagas nas disciplinas pensamos nas funes do coordenador; Para determinarmos que necessrio efetuar matrcula e consultar mdia pensamos nas atividades executadas pelo aluno; Por fim, para determinarmos que necessrio lanar notas e lanar faltas pensamos nas funes do professor. Por que isso acontece? Porque vivemos em um mundo de objetos.
15

Introduo
Em uma universidade temos pessoas que por sua vez so funcionrios ou alunos, os funcionrios so professores ou tcnicos. fcil visualizar que estes objetos, ou melhor, componentes do sistema, possuem funes, por exemplo, os professores tm a funo de registrar as notas, registrar as faltas e etc.. Devido a observao deste fato foi criado o paradigma orientado a objeto. Se no nosso cotidiano estamos envoltos por objetos, porque no ensinado apenas o paradigma da programao orientada a objeto ou porque este no ensinado antes do paradigma de programao estruturada?
16

Introduo
Porque o paradigma orientado a objeto requer um grau de abstrao maior e, alm disto, percebemos que mesmo no contexto da orientao a objeto temos funes desempenhadas pelos objetos. Se a orientao a objeto pressupe mais capacidade de abstrao e sendo assim de anlise, por que utiliz-la? Visando uma maior facilidade na: - compreenso do problema/soluo; - correo do sistema desenvolvido/proposto; - manuteno do sistema desenvolvido; - reutilizao do sistema desenvolvido; - e extenso do sistema desenvolvido.
17

Introduo
Por que? mais fcil compreender o que condiz com nosso cotidiano; mais fcil corrigir o que se compreende melhor; A grande questo que ao escrevermos o cdigo-fonte de um programa utilizando a programao imperativa, ao existir a necessidade de modificarmos as caractersticas de um determinado objeto, encontraremos uma grande dificuldade em localizar quais as aes executadas por/com este objeto e quais destas devemos adequar as novas caractersticas; Alm do fato que reutilizar objetos muito mais plausvel do que reutilizar funes; Estas caractersticas conduzem a uma maior facilidade na extenso.
18

Você também pode gostar