31/08/23 inicio
Programação Orientada a Objetos (POO) - Resumo Detalhado com Exemplos
em Java
1. Conceitos Fundamentais da POO:
A Programação Orientada a Objetos é um paradigma de programação baseado
na representação de entidades do mundo real como objetos, que possuem
características (atributos) e comportamentos (métodos). Ela permite a
modelagem de sistemas complexos de forma mais organizada e modular.
2. Classes e Objetos:
Uma classe é um modelo que define a estrutura e comportamento dos objetos.
Um objeto é uma instância (criação) de uma classe, ou seja, é a representação
concreta de um conceito.
Exemplo em Java:
// Classe que representa um Carro
class Carro {
String marca;
String modelo;
void acelerar() {
System.out.println("O carro está acelerando.");
}
}
// Criando objetos da classe Carro
Carro carro1 = new Carro();
Carro carro2 = new Carro();
3. Atributos e Métodos:
Os atributos representam as características dos objetos, e os métodos
definem o comportamento ou ações que os objetos podem realizar.
31/08/23 inicio 1
Exemplo em Java
class Pessoa {
String nome; // Atributo
void saudar() { // Método
System.out.println("Olá, meu nome é " + nome + ".");
}
}
4. Encapsulamento:
É o princípio de POO que protege os atributos de uma classe, permitindo
acesso apenas através de métodos específicos. Isso garante maior controle e
segurança na manipulação dos dados.
Exemplo em Java:
class ContaBancaria {
private double saldo; // Atributo privado
public double getSaldo() {
return saldo; // Método de acesso
}
public void depositar(double valor) {
saldo += valor;
}
public void sacar(double valor) {
if (valor <= saldo) {
saldo -= valor;
} else {
System.out.println("Saldo insuficiente.");
}
}
31/08/23 inicio 2
}
5. Herança:
Permite a criação de novas classes baseadas em classes já existentes,
herdando seus atributos e métodos. A classe herdada é chamada de
superclasse, e a nova classe é chamada de subclasse.
Exemplo em Java:
class Animal {
void emitirSom() {
System.out.println("O animal emitiu um som.");
}
}
class Cachorro extends Animal {
@Override // Sobrescrita do método emitirSom
void emitirSom() {
System.out.println("O cachorro latiu.");
}
}
6. Polimorfismo:
É a capacidade de objetos de classes diferentes responderem ao mesmo
método de formas distintas. O polimorfismo pode ser obtido através de
herança ou interfaces.
Exemplo em Java:
class Forma {
void desenhar() {
System.out.println("Desenho genérico.");
}
}
class Circulo extends Forma {
31/08/23 inicio 3
@Override
void desenhar() {
System.out.println("Desenhando um círculo.");
}
}
class Quadrado extends Forma {
@Override
void desenhar() {
System.out.println("Desenhando um quadrado.");
}
}
7. Abstração:
É o conceito que permite a criação de classes abstratas e interfaces, que não
podem ser instanciadas diretamente, mas servem como base para outras
classes.
Exemplo em Java:
abstract class Animal {
abstract void emitirSom(); // Método abstrato, sem implementação
}
class Cachorro extends Animal {
@Override
void emitirSom() {
System.out.println("O cachorro latiu.");
}
}
A Programação Orientada a Objetos traz uma série de vantagens
==============================================================
Claro! Existem vários sites gratuitos onde você pode estudar Programação
Orientada a Objetos e Java. Aqui estão alguns deles:
31/08/23 inicio 4
1. W3Schools (Java Tutorial) - https://www.w3schools.com/java/
O W3Schools oferece um tutorial completo de Java, incluindo conceitos básicos
de POO.
2. Oracle Java Documentation -
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
A documentação oficial da Oracle para Java inclui tutoriais sobre conceitos de
POO.
3. Codecademy (Java Course) - https://www.codecademy.com/learn/learn-java
O Codecademy oferece um curso interativo de Java que abrange POO e outros
conceitos fundamentais.
4. Coursera (Object-Oriented Programming in Java) -
https://www.coursera.org/learn/object-oriented-java
Este curso da Universidade da Califórnia, San Diego, na plataforma Coursera,
ensina Java e POO.
5. edX (Java Programming and Software Engineering Fundamentals) -
https://www.edx.org/professional-certificate/utaustinx-java-programming
Este curso da Universidade do Texas em Austin é uma introdução abrangente à
programação Java, incluindo POO.
6. JavaTpoint (Java Tutorial) - https://www.javatpoint.com/java-tutorial
O JavaTpoint oferece um tutorial de Java com explicações sobre POO e
exemplos práticos.
7. Tutorialspoint (Java Tutorial) -
https://www.tutorialspoint.com/java/index.htm
Tutorialspoint tem um tutorial de Java que cobre todos os conceitos de POO.
8. Guru99 (Java Tutorial) - https://www.guru99.com/java-tutorial.html
O Guru99 oferece um tutorial de Java que inclui tópicos de POO.
Lembre-se de que a prática é fundamental ao aprender programação. À medida que
você estuda esses conceitos, é recomendado também resolver exercícios e projetos
para aplicar o conhecimento adquirido. Boa sorte em seus estudos de POO e Java!
===============================================================
31/08/23 inicio 5
Lição: Conceitos de Programação
Orientada a Objetos
Se você nunca usou uma linguagem de programação orientada a objetos antes,
precisará aprender alguns conceitos básicos antes de começar a escrever qualquer
código. Esta lição apresentará objetos, classes, herança, interfaces e pacotes. Cada
discussão se concentra em como esses conceitos se relacionam com o mundo real,
ao mesmo tempo em que fornece uma introdução à sintaxe da linguagem de
programação Java.
O que é um objeto?
Um objeto é um pacote de software de estado e comportamento relacionados. Os
objetos de software são frequentemente usados para modelar os objetos do mundo
real que você encontra na vida cotidiana. Esta lição explica como o estado e o
comportamento são representados em um objeto, apresenta o conceito de
encapsulamento de dados e explica os benefícios de projetar seu software dessa
maneira.
O que é uma aula?
Uma classe é um projeto ou protótipo a partir do qual os objetos são criados. Esta
seção define uma classe que modela o estado e o comportamento de um objeto do
mundo real. Ele se concentra intencionalmente no básico, mostrando como até
mesmo uma classe simples pode modelar de forma limpa o estado e o
comportamento.
O que é herança?
A herança fornece um mecanismo poderoso e natural para organizar e estruturar
seu software. Esta seção explica como as classes herdam o estado e o
comportamento de suas superclasses e explica como derivar uma classe de outra
usando a sintaxe simples fornecida pela linguagem de programação Java.
O que é uma interface?
Uma interface é um contrato entre uma classe e o mundo externo. Quando uma
classe implementa uma interface, ela promete fornecer o comportamento publicado
por essa interface. Esta seção define uma interface simples e explica as alterações
necessárias para qualquer classe que a implemente.
31/08/23 inicio 6
O que é um pacote?
Um pacote é um namespace para organizar classes e interfaces de maneira
lógica. Colocar seu código em pacotes facilita o gerenciamento de grandes projetos
de software. Esta seção explica por que isso é útil e apresenta a Application
Programming Interface (API) fornecida pela plataforma Java.
Questões e Exercícios: Conceitos de Programação
Orientada a Objetos
Use as questões e exercícios apresentados nesta seção para testar sua
compreensão de objetos, classes, herança, interfaces e pacote
31/08/23 inicio 7