programação orientada a objetos - decom.ufop.br · programação orientada a objetos prof. marco...

36
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2

Upload: nguyenliem

Post on 13-Nov-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2

Page 2: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

2

Page 3: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

3

Page 4: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

4  aulas  teóricas  ¡  Turma  única  

§  Segundas  e  quartas  às  08:20;  §  Sala  104–  Pavilhão  Central.  

4

Page 5: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Ao  final  do  curso  é  esperado  que  o  aluno:    §  Entenda  com  profundidade  os  conceitos  de  Programação  Orientada  a  Objetos,  sendo  capaz  de  aplicá-­‐los  de  maneira  apropriada;    

§  Seja  fluente  na  escrita,  teste  e  depuração  de  programas  orientados  a  objetos,  com  uso  de  APIs;    

§  Seja  capaz  de  desenvolver  sistemas  orientados  a  objetos  com  acesso  e  abstraindo  banco  de  dados;    

§  Seja  capaz  de  desenvolver  sistemas  utilizando  objetos  remotos.  

5

Page 6: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Aulas  teóricas  §  Apresentação  de  conceitos  e  aplicações.  

¡  Trabalhos  extra-­‐classe  §  Consolidação  da  experiência  com  os  temas  tratados  em  aula  ▪  Listas  de  exercícios  a  cada  conteúdo  apresentado.  

6

Page 7: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  A  ementa  da  disciplina  não  menciona  linguagem  de  programação  §  Apenas  bibliografia  em  C++  e  Java.  

¡  Veremos  a  disciplina  em  3  partes:  §  Conceitos  +  UML;  §  C++;  §  Java.  

¡  Será  dada  maior  ênfase  a  C++  §  Pré-­‐requisito  para  BCC322  -­‐  Engenharia  de  Software  I.  

7

Page 8: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Os  diferentes  objetivos  no  desenvolvimento  das  linguagens  C++  e  Java  resultaram  em  diferentes  princípios  e  contrapartidas  §  Java  foi  desenvolvida  para  ser  fácil  de  utilizar  e  acessível  a  um  público  maior  ▪  Além  de  uma  poderosa  biblioteca  multiplataforma.  

§  C++  é  uma  linguagem  poderosa  desenvolvida  para  uma  grande  variedade  de  tarefas  em  programação  ▪  Permite  acesso  total  às  características  e  performance  da  plataforma  em  que  o  software  executará.  

8

Page 9: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  De  fato,  uma  das  grandes  diferenças  entre  C++  e  Java  está  no  nível  de  acesso  à  máquina  §  C++  permite  acesso  baixo  nível  ▪  Principalmente  à  memória  e  registradores;  ▪  Melhor  desempenho.  

§  Java  protege  o  programa  com  uma  máquina  virtual.  ¡  No  entanto,  a  liberdade  oferecida  pela  linguagem  C++  pode  causar  danos  maiores;  

¡  Java  é  utilizado  em  uma  gama  maior  de  dispositivos.  

9

Page 10: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Ambiente  computacional  de  compilação,  desenvolvimento  e  execução  de  programas  §  Editores  e  Compiladores.  

¡  Programas  de  editoração  e  apresentação;  ¡  Software  de  apoio  à  aprendizagem,  executado  em  um  ambiente  virtual  § Moodle.  

10

Page 11: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Participação  em  sessões  de  discussão  sobre  estratégias  de  resolução  de  problemas  utilizando  os  conceitos  abordados;  

¡  Trabalhos  implementação  extra-­‐classe.  

11

Page 12: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

P.  J.  DEITEL,    H.  M.  DEITEL.  C++  Como  Programar.  Quinta  edição.  Pearson,  2006.  

       P.  J.  DEITEL,    H.  M.  DEITEL.  Java  Como  Programar.  Oitava  edição.  Pearson,  2010.  

12

Page 13: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

B.  MEYER.  Object-­‐Oriented  Software  Construction.  Segunda  Edição.  Prenttice-­‐Hall,  1997.  

13

Page 14: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

V.  V.  MIZRAHI,  Treinamento  em  Linguagem  C++,  módulos  1  e  2,  Makron  Books.    

   C++.com  www.cplusplus.com  C++  Reference  www.cppreference.com  

14

Page 15: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

The  Java  Tutorials  http://download.oracle.com/javase/tutorial/          API  Java  http://download.oracle.com/javase/7/docs/api/    

15

Page 16: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Provas  práticas  (4)  §  (8  pontos).  

¡  Trabalhos  de  implementação  computacional  (2)  §  (2  pontos  +  extras).  

¡  A    frequência  também  é  considerada.  

16

Page 17: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

17

Page 18: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  A  cada  conteúdo,  uma  série  exercícios  será  disponibilizada  §  Não  é  necessário  entregar;  §  Não  contam  para  avaliação;  §  Somente  para  treino.  

¡  Não  haverá  gabarito  §  Dúvidas  devem  ser  sanadas  junto  ao  professor  ou  monitor.  

18

Page 19: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  As  provas  serão  realizadas  manualmente  §  Se  houver  disponibilidade  da  turma,  verifica-­‐se  a  viabilidade  de  provas  práticas.  

¡  As  questões  poderão  ser  retiradas  das  listas  de  exercícios.  

19

Page 20: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Visão  geral  do  paradigma  de  programação  orientada  a  objetos;  

¡ Modelagem  UML;  

20

Page 21: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Programando  em  C++  §  Classes,  objetos,  mensagens;  §  Herança;  §  Polimorfismo;  §  Ligação  dinâmica;  §  Tratamento  de  exceções;  §  Genéricos;  §  Coleções;  §  Objetos  persistentes.  

21

Page 22: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Programando  em  Java  §  Herança;  §  Polimorfismo;  §  Interfaces  gráficas;  §  Tratamento  de  exceções;  §  Genéricos;  §  Coleções;  §  Objetos  persistentes.  

22

Page 23: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

23

106 dias letivos Aulas Feriado/Recesso Não haverá aula Inversões Exames especiais

AGOSTO DOM SEG TER QUA QUI SEX SAB

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

SETEMBRO DOM SEG TER QUA QUI SEX SAB

1 2 3 4 5 6 7 8 9 10 11 12 13

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

07: Independência do Brasil

OUTUBRO DOM SEG TER QUA QUI SEX SAB

1 2 3 4 5 6 7 8 9 10 11

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 21

12: Dia de Nossa Senhora Aparecida

DOM SEG TER QUA QUI SEX SAB1

2 3 4 5 6 7 89 10 11 12 13 14 1516 17 18 19 20 21 2223 24 25 26 27 28 2930

02: Finados

15:Proclamação da República

19 a 21: Encontro dos Saberes

DOM SEG TER QUA QUI SEX SAB1 2 3 4 5 6

7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30 31

08: Dia de Nossa Senhora Conceição

DEZEMBRO

NOVEMBRO

Page 24: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Prova  I:  17  de  setembro  §  Até  herança  em  C++.  

¡  Prova  II:  15  de  outubro  §  Até  genéricos  em  C++.  

¡  Prova  III:  29  de  outubro  ¡  Até  herança  em  Java.  

¡  Prova  IV:  10  de  dezembro  §  Até  coleções  em  Java.  

¡  Exames  especiais:  15  e  17  de  dezembro.  24

Page 25: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

25

Perguntas?  

Page 26: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

26

Page 27: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Pontualidade  §  Chamada  uma  vez  por  aula;  §  Perdeu  a  chamada,  não  tem  choro.  

¡  Dedicação  exclusiva  às  atividades  da  disciplina  durante  a  aula;  

¡  Proatividade;  ¡  Aplicação  nas  atividades  extra-­‐classe.  

27

Page 28: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

28

Cola    

¡  Nas  provas  e  trabalhos,  garante  nota  0  para  os  envolvidos,  independente  se  passou  ou  recebeu  a  cola  e  se  a  cola  é  parcial  ou  total.  

   

Page 29: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

LaTeX    ¡  O  LaTeX  é  uma  espécie  de  editor  de  textos  científicos  e  profissionais  (bem  diferente  do  Word);  

¡  Nos  trabalhos,  relatórios  em  LaTeX  valem  pontos  extras.  

29

Page 30: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Professor  § Marco  Antonio  § [email protected]  (não  enviar  programas)  §  3559-­‐1663  §  Sala  45  DECOM  

¡ Monitor  §  Gabriel  Lacerda  §  Horários  a  definir  

30

Page 31: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  O  material  das  aulas  está  disponível  no  site  www.decom.ufop.br/marco  

¡  Além  do  material,  outras  informações  estão  disponíveis  no  curso  BCC221  –  Programação  Orientada  a  Objetos  do  Moodle  §  www.decom.ufop.br/moodle  

31

Page 32: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Cadastrem-­‐se  na  lista  de  e-­‐mails  da  disciplina:  §  bcc221-­‐[email protected]  

¡  Solicitem  inclusão  no  endereço  §  http://groups.google.com/group/bcc221-­‐decom  

32

Page 33: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  A  ementa  e  o  programa  da  disciplina  podem  ser  encontrado  no  site  da  disciplina  §  Bem  como  todo  material  disponibilizado.  

33

Page 34: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

¡  Checar  frequentemente:  §  Possíveis  alterações  no  cronograma  inicial;  §  Avisos  §  Etc.  

¡  Via  lista  de  e-­‐mails.  

34

Page 35: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

35

Perguntas?  

Page 36: Programação Orientada a Objetos - decom.ufop.br · Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho ... Programação&Orientada&a&Objetos,&sendo&capaz& de&aplicáPlos&de&maneira&apropriada;&&!

   

FIM  

36