Disciplinas Obrigatórias
3° período
Código:
BiSuCOM.539
Nome da disciplina:
Programação Orientada a Objetos
Carga horária total:
60 h
Abordagem metodológica:
Teórico-Prática
Natureza:
Obrigatória
Carga horária teórica:
30 h
Carga horária prática:
30 h
Ementa:
Introdução ao paradigma orientado a objetos. Diferenças entre programação procedimental e orientada a objetos. Conceitos básicos da orientação a objetos: Classe, objeto, inicialização, atributos e métodos. Diagrama de Classes. Assinaturas, contratos, mensagens, estado, comportamento e identidade. Linguagens de Programação Orientada a Objetos. Encapsulamento e Abstração: Tipos primitivos, compostos e referências para objetos. Modificadores de acesso. Construtores, destrutores e sobrecarga. Atributos e métodos estáticos, enumerações e fábricas de instâncias. Composição. Herança: Conceito de herança, delegações e sobrescrita. Polimorfismo: Casting. Classes e métodos abstratos. Interfaces, heranças múltiplas e conflitos de herança. Exceções e controle de erros. Uso de API, pacotes e frameworks em linguagens orientadas a objetos. Arquiteturas de sistemas orientadas a objetos clássicas: Model-View-Controller e Data Access Object.

Objetivo(s):

Objetivo Geral:

Criar softwares utilizando linguagens orientadas a objetos aplicando corretamente os conceitos e os recursos disponíveis neste paradigma de programação.

Objetivos Específicos:

Idear regras relacionadas a problemas reais e aplicá-las a modelagem de projetos lógicos e físicos orientados a objetos. Explicar os conceitos da orientação a objetos com a finalidade de projetar sistemas baseados em arquiteturas adequadas para soluções reutilizáveis. Selecionar tecnologias, configurar e implantar ambientes de desenvolvimento para produção de softwares orientados a objetos. Utilizar linguagens de programação orientadas a objetos no desenvolvimento de softwares utilizando de forma adequada os seus recursos a fim de agregar vantagens no processo de desenvolvimento e na qualidade do produto final. Desenhar documentações, padrões e componentes de código-fonte visando o uso e o reuso destes no desenvolvimento de software. Elaborar senso crítico para analisar e melhorar código orientado a objetos, bem como padrões e arquiteturas de projeto.

Bibliografia básica:

SANTOS, Rafael. Introdução à programação orientada a objetos usando Java. 1. ed. Rio de Janeiro: Elsevier, 2003. 319 p. ISBN 9788535212068. Acervo: 005.13 S237i.

DEITEL, Paul J.; DEITEL, Harvey M.. Java: Como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. 970 p. ISBN 9788543004792. Disponível em <https://pergamum.ifmg.edu.br/acervo/5004483>. Acesso em: 24 de Setembro de 2024.

FÉLIX, Rafael . Programação orientada a objetos. 1. ed. São Paulo: Pearson, 2016. 168 p. ISBN 9788543020174. Disponível em <https://pergamum.ifmg.edu.br/acervo/5007211>. Acesso em: 12 de Outubro de 2024.

Bibliografia complementar:

UDAYAN, Das; AUBREY, Lawson; CHRIS, Mayfield; NARGES, Norouzi. Introduction to Python Programming. 1. ed. Houston: OpenStax, 2024. 405 p. ISBN 978-19-615-8445-7. Disponível em <https://pergamum.ifmg.edu.br/acervo/108538.>. Acesso em: 3 de Outubro de 2024.

LARMAN, Craig. Utilizando UML e Padrões: Uma introdução à análise e ao projeto orientado a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre: Bookman, 2007. 695 p. ISBN 9788560031528. Acervo: 005.13 L324u 2007.

FREEMAN, Elisabeth; SIERRA, Kathy; BATES, Bert; GONÇALVES, Andrezza;. SOARES, Marcelo; CONTI, Pedro César de. Use a cabeça!: Padrões de Projeto. 2. ed. Rio de Janeiro: Alta Books, 2009. 478 p. ISBN 9788576081746. Acervo: 005.1 F855u 2009.

BORATII, Isaias Camilo .. Programação Orientada a Objetos em Java. 1. ed. Florianópolis: Visual Books, 2007. 310 p. ISBN 8575021990; 9788575021996. Acervo: 62779.

SIERRA, Kathy.. Use a cabeça!: Java. 2. ed. Rio de Janeiro: Alta Books, 2010. 484 p. ISBN 9788576081739. Acervo: 49744.