Curso POO Teoria #09 - Exercícios de POO

Curso POO Teoria #09 - Exercícios de POO

Introdução ao Curso de Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção introdutória, o professor Gustavo Guanabara apresenta o curso de programação orientada a objetos e explica que esta aula será prática em vez de conceitual. Ele destaca a importância da prática no processo de aprendizado e resume os conceitos abordados nas aulas anteriores.

Desafio Prático para os Alunos

  • O professor propõe um desafio aos alunos: desenvolver um projeto orientado a objetos na linguagem de sua escolha.
  • Ele menciona que este desafio cobrará conceitos teóricos e é patrocinado pelo Sistema do Campo de Ensino, que oferece cursos preparatórios para áreas militares.

Resolução de Questões de Concursos Anteriores

  • O professor selecionou algumas questões que caíram em concursos anteriores relacionadas à programação orientada a objetos.
  • Ele irá ler as questões junto com os alunos, pausar para que eles possam responder e, em seguida, fornecer as respostas e comentários.
  • As questões são provenientes dos concursos EA GSK (Aeronáutica) e CAP PB (Marinha).

Questão 1: Planta Arquitetônica

  • A primeira questão envolve uma analogia entre uma casa e um objeto em programação orientada a objetos.
  • Os alunos devem identificar qual elemento arquitetônico corresponde ao objeto em relação à planta arquitetônica.
  • Opções: método, propriedade, classe ou atributo.

Questão 2: Características da Programação Orientada a Objetos

  • A segunda questão aborda as características da programação orientada a objetos.
  • Os alunos devem identificar quais características estão relacionadas à programação orientada a objetos.
  • O professor fornece um mnemônico para ajudar na memorização das características.

Questão 3: Conceito de Classe e Objeto

  • A terceira questão trata do conceito de classe e objeto na programação orientada a objetos.
  • Os alunos devem identificar qual alternativa está incorreta em relação ao conceito de classe e objeto.

Planta Arquitetônica e Classes

Visão Geral da Seção: Nesta seção, o professor Gustavo Guanabara explica o conceito de planta arquitetônica em relação à programação orientada a objetos. Ele destaca a importância da planta como base para instanciar um objeto.

Planta Arquitetônica como Base para Implementar um Objeto

  • O professor faz uma analogia entre uma planta arquitetônica e uma classe em programação orientada a objetos.
  • Assim como uma planta serve como base para construir uma casa, uma classe serve como base para instanciar um objeto.

Traçando Paralelos entre o Mundo Real e a Programação Orientada a Objetos

  • O objetivo da programação orientada a objetos é criar componentes que representam objetos do mundo real.
  • Uma casa semelhante à planta arquitetônica representa uma classe, enquanto o objeto é criado com base nessa classe.

Características da Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, o professor Gustavo Guanabara revisa as características da programação orientada a objetos e fornece um mnemônico para ajudar na memorização.

Características da Programação Orientada a Objetos

  • O professor recapitula as características da programação orientada a objetos.
  • Ele fornece um mnemônico "Comer Nada" para lembrar das características: confiável, mensurável, extensível, reutilizável e natural.

Conceito de Classe e Objeto

Visão Geral da Seção: Nesta seção, o professor Gustavo Guanabara aborda o conceito de classe e objeto na programação orientada a objetos.

Questão sobre Classe e Objeto

  • O professor apresenta uma questão que envolve o conceito de classe e objeto.
  • Os alunos devem identificar qual alternativa está incorreta em relação ao conceito de classe e objeto.

The transcript provided does not have enough content to create more sections.

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

Visão Geral da Seção: Nesta seção, é introduzido o conceito de programação orientada a objetos e como ela difere de outros paradigmas de programação.

Conceitos Básicos da Programação Orientada a Objetos

  • A programação orientada a objetos define atributos e comportamentos compartilhados por um tipo de objeto.
  • Em uma linguagem puramente orientada a objetos, tudo é um objeto, desde os tipos mais básicos.
  • Exemplo: Na linguagem Java, até mesmo os tipos primitivos são tratados como objetos.

Características da Linguagem PHP

  • A linguagem PHP não é totalmente orientada a objetos, embora seja baseada em objetos.
  • Ela possui elementos que não seguem completamente o paradigma da programação orientada a objetos.

Relacionando Conceitos na Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, são apresentadas frases relacionadas aos conceitos da programação orientada a objetos para serem associadas corretamente.

Associação entre Colunas

  • É necessário relacionar os conceitos das colunas esquerda e direita.
  • As respostas corretas são determinadas pela sequência correta das associações feitas.

Características de Classes e Objetos na Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, são discutidas as características das classes e dos objetos na programação orientada a objetos.

Definição de Atributos e Comportamentos Comuns

  • A definição de atributos e comportamentos comuns é feita por meio das classes.
  • As classes são responsáveis por agrupar objetos que possuem características semelhantes.

Características Visíveis Externamente de uma Classe

  • Os atributos são as características visíveis externamente de uma classe.
  • Eles representam os dados que um objeto da classe pode armazenar.

O Domínio do Problema na Programação Orientada a Objetos

  • O domínio do problema é o espaço onde o problema reside.
  • Ele representa a área específica em que a programação orientada a objetos está sendo aplicada.

Conceitos sobre Métodos na Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, são abordados conceitos relacionados aos métodos na programação orientada a objetos.

Métodos Assessores e Mutantes

  • Os métodos assessores são responsáveis por dar acesso aos dados internos de um objeto.
  • Os métodos mutantes permitem alterar o estado interno dos objetos.

Construtores como Métodos para Inicializar Objetos

  • Os construtores são métodos usados para inicializar objetos.
  • Eles definem as configurações iniciais dos objetos quando eles são criados.

Pilares da Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, são apresentados os três pilares fundamentais da programação orientada a objetos.

Encapsulamento, Herança e Polimorfismo

  • Os três pilares da programação orientada a objetos são: encapsulamento, herança e polimorfismo.
  • O encapsulamento permite ocultar detalhes internos de um objeto e expor apenas as interfaces necessárias.
  • A herança permite criar novas classes a partir de classes existentes, aproveitando seus atributos e comportamentos.
  • O polimorfismo permite que objetos de diferentes classes sejam tratados de forma uniforme, desde que compartilhem uma interface comum.

Construtora Objeto e Entidades

Visão Geral da Seção: Nesta seção, são abordados os conceitos de construtora objeto e entidades na programação orientada a objetos.

Definição de Entidade e Interface

  • Uma entidade define o que um objeto pode fazer.
  • A interface determina quais métodos são públicos e acessíveis diretamente pela classe.

Atributos, Comportamentos Compartilhados e Construtores

  • A classe define os atributos e comportamentos compartilhados.
  • O construtor é utilizado para inicializar objetos.

Repetição de Conceitos

  • Alguns conceitos podem ser repetidos ao longo do curso.
  • É comum errar nesses conceitos no início.

Níveis de Acesso em Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, são abordados os níveis de acesso em programação orientada a objetos.

Níveis de Acesso: Público, Protegido e Privado

  • Os três níveis de acesso são público, protegido e privado.
  • O acesso público é disponível para todos.
  • O acesso privado é restrito à própria classe.
  • O acesso protegido é intermediário entre público e privado, permitindo acesso às subclasses.

Polimorfismo, Herança e Agregação

Visão Geral da Seção: Nesta seção, são introduzidos os conceitos de polimorfismo, herança e agregação na programação orientada a objetos.

Polimorfismo

  • Será abordado nas próximas aulas.
  • Permite separar o programa em partes menores e independentes.

Herança

  • Será abordada na próxima aula.
  • Envolve conceitos de superclasse, subclasse e herança.

Agregação

  • Envolve a relação de um objeto ter outro objeto dentro dele.
  • Uma instância contém outra instância.

Encapsulamento e Detalhes Internos

Visão Geral da Seção: Nesta seção, é discutido o conceito de encapsulamento e seus detalhes internos.

Conceito de Encapsulamento

  • O encapsulamento permite ocultar os detalhes internos de cada parte do programa.
  • A interface define quais serviços são fornecidos por cada parte.

Abstração na Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, é explicado o conceito de abstração na programação orientada a objetos.

Abstração

  • Na programação orientada a objetos, abstrair significa representar uma entidade incluindo apenas seus atributos mais relevantes.
  • Isso permite separar o programa em partes menores e independentes, com implementações isoladas.

Conceitos de Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, o palestrante discute os conceitos básicos da programação orientada a objetos.

Conceitos Básicos

  • Atributos como cor do cabelo, tamanho do cabelo, cor dos olhos, idade, peso e sexo são características de um objeto.
  • Para fins de encapsulamento, apenas a altura e o peso são necessários para o sistema em questão.
  • Classes são tipos abstratos de dados que definem as propriedades e comportamentos dos objetos.
  • Objetos são instâncias de uma classe.
  • Subclasse é uma classe definida com base em outra classe (conceito de herança).
  • Atributos são características ou propriedades dos objetos em uma classe.
  • Métodos são subprogramas que definem as operações em um objeto.

Dicas para Estudar Programação Orientada a Objetos

Visão Geral da Seção: Nesta seção, o palestrante fornece dicas sobre como estudar programação orientada a objetos de forma eficaz.

Dicas para Estudar

  • Não é necessário correr para terminar o curso; é importante aprender a programar com foco na compreensão dos conceitos.
  • Se muitas questões foram respondidas incorretamente, é recomendado revisitar as aulas e praticar mais para melhorar o entendimento.
  • O palestrante está fazendo sua parte ao fornecer as informações necessárias; cabe ao aluno fazer sua parte estudando e praticando ativamente.

Informações sobre Cursos e Concursos

Visão Geral da Seção: Nesta seção, o palestrante compartilha informações sobre cursos e concursos relacionados à programação orientada a objetos.

Cursos e Concursos

  • O palestrante é professor do Sistema Educandus de Ensino, que oferece cursos avançados em programação orientada a objetos.
  • Há concursos para sargento da Aeronáutica (EAGS) e para o Corpo Auxiliar de Praças da Marinha (CAP), com especialidade em processamento de dados.
  • Os interessados podem obter mais informações no site do Sistema Educandus de Ensino.

Exercício Prático

Visão Geral da Seção: Nesta seção, o palestrante apresenta um exercício prático que envolve os conceitos básicos da programação orientada a objetos.

Exercício Prático

  • O exercício prático abrange definição básica de classes, atributos, métodos, encapsulamento, interface e relacionamentos entre classes.
  • Os alunos podem escolher fazer o exercício em Java ou PHP.
  • Mais detalhes sobre o exercício estão disponíveis na playlist correspondente aos cursos de programação orientada a objetos em Java e PHP.
Video description

Nessa aula de POO, vamos fazer alguns exercícios de Programação Orientada a Objeto conceituais que já apareceram em concursos. Coloque em prática tudo aquilo que aprendeu até aqui. Gostou da aula? Então torne-se um Gafanhoto APOIADOR do CursoemVídeo acessando o site apoie.me/cursoemvideo Nós do CursoemVideo sempre recomendamos assistir a aula completa, mas se quiser aprender diretamente uma parte específica, clique nos marcadores de tempo a seguir: 0:19 - Qual é o assunto da aula? Aula do Curso de Programação Orientada a Objetos POO criado pelo professor Gustavo Guanabara para o portal CursoemVideo.com. Curso em Vídeo Seja um apoiador: http://apoie.me/cursoemvideo Site: http://www.cursoemvideo.com YouTube: http://www.youtube.com/cursoemvideo Facebook: http://www.facebook.com/cursosemvideo Twitter: http://twitter.com/cursosemvideo Google+: http://plus.google.com/112666558837414979080 Patrocínio HOSTNET: http://www.hostnet.com.br EDUCANDUS: http://www.sistemaeducandus.com.br GAFANHOTOS: http://apoie.me/cursoemvideo Ask Rufus de Audionautix está licenciada sob uma licença Creative Commons Attribution (https://creativecommons.org/licenses/by/4.0/) Artista: http://audionautix.com/