Summary
Keywords
Full Transcript
Livros de Java: - Sistemas Orientados a Objetos: https://amzn.to/3INpNs5 - Orientação a Objetos: https://amzn.to/3Z6hMUk - Desbravando Java e Orientação a Objetos: https://amzn.to/415pHTL - Livro Java para Iniciantes: https://amzn.to/3Seo8i8 - Java Efetivo: https://amzn.to/3INqzW1 - Java para Leigos: https://amzn.to/3EoOUi1 - Java como Programar: https://amzn.to/3YJcVbH - E-book Java para Iniciantes: https://amzn.to/3KmnYTO Curso Criando um Software de Janelas Interativas com Java: https://www.udemy.com/course/desenvolva-um-sistema-em-java/?couponCode=B8AF33D6AD8170212DB2 Livros de Lógica e Algoritmos: - Lógica de Programação: https://amzn.to/3KjD64n - Lógica de Programação (Alura): https://amzn.to/3KoW3To - Algoritmos: https://amzn.to/3Kr0GfE - Entendendo Algoritmos: https://amzn.to/3YN1WxY A Programação Orientada a Objetos (POO) é um paradigma de programação que foca na criação de objetos. Cada objeto possui características específicas que são chamadas de atributos, e comportamentos que são representados por métodos (ações do objeto). Essa forma de programação cria modelos genéricos que são representados por classes, que por sua vez, dão origem aos objetos. Para facilitar o seu entendimento, pense que tudo ao seu redor, o que você pode ver, tocar, pensar são objetos. Casa, cadeira, xícara, pessoa, música, computador, celular, livros, boleto, comida... a partir de agora, tudo é representado por um objeto e possui uma classe, um modelo de representação. Se você desejar construir vários personagens de um jogo, você vai precisar modelar a estrutura padrão, ou seja, algo que tenha informações que são tidas por todos os personagens, seja ele um mago, guerreiro, elfo, ou outro tipo. Uma classe genérica é a classe Personagem, que possui as características(atributos): nome, tipo_arma, peso, altura, sexo. Que são características comuns de todos os personagens. Os comportamentos que fazem parte de todos os personagens, os métodos, podem ser: atacar(), defender(), regenerar(). Quando temos uma classe geral, tal como essa, a Personagem, podemos criar outras classes mais específicas, tal como, a classe Mago, a classe Guerreiro, a classe Elfo, que irão herdar as características de Personagem e os comportamentos. Não existe um jogador Personagem. Mas, existe um jogador mago, elfo, guerreiro. Cada um deles tem vida e possui atributos e métodos semelhantes e alguns mais específicos. O Personagem é uma classe que não ganhará vida, será uma classe chamada de Classe Abstrata. A sua única função é servir de base para as demais classes, tal como, Mago, Guerreiro e Elfo. Uma Classe Guerreiro pode ter um conjunto de outros objetos. Tal como: Elmo, Escudo, Espada, Botas, Luvas. Cada objeto com suas caraterísticas específicas. Entretanto, podemos ter uma Classe Genérica, abstrata, chamada Armadura, que tem características e comportamentos que todos os objetos possuem. Tal como, durabilidade, resistência, tempo de vida. Logo, a Classe Armadura será herdada pelas classes: Elmo, Espada, Escudo, Botas e Luvas. Não é algo difícil, quando se vê a aplicação prática. Nesta aula, também explico os conceitos de forma prática de sobrecarga (Overload) e sobrescrita (Override). Além de explicar um pouco sobre Polimorfismo (Agregação, Associação e Composição), que foram deixados como tarefa de casa, para pesquisa. Você também aprenderá a utilizar coleções, do tipo ArrayList de Objetos, para ter a visão completa do que se pode fazer com orientação a objetos. Assim, fica mais fácil entender o que é um encapsulamento, reuso, modelagem computacional, pensamento computacional, entender a lógica, utilização de métodos, declaração de variáveis, tipos de dados, modificadores de acesso, orientação a objetos, classes, atributos, polimorfismo e mais. Nesta aula, você aprenderá tudo que precisa para sair do zero começar seus projetos orientados a objetos. Os principais conceitos de orientação a objetos são: - Abstração: representação dos aspectos relevantes de um objeto e ignorando detalhes irrelevantes. - Encapsulamento: ocultamento dos detalhes de implementação de um objeto, expondo somente sua interface pública. - Herança: relação entre classes, onde uma classe é base ou superclasse e outra é derivada ou subclasse. - Polimorfismo: capacidade de um objeto de assumir diversas formas diferentes. - Classes e objetos: classes são modelos ou protótipos para criação de objetos, que são instâncias de uma classe. - Interfaces: são conjuntos de métodos que uma classe deve implementar. - Overriding(Sobrescrita): é a capacidade de uma subclasse de sobrescrever um método já existente na sua superclasse. - Overloading(Sobrecarga): é a capacidade de um método ter mais de uma assinatura, diferenciando-se pelos tipos e/ou quantidade de parâmetros. LinkedIn: https://www.linkedin.com/in/olivalpaulino/
