ClariCodeClariCode

# Curso online · Ciência da Computação

Orientação a Objetos

Aprenda a pensar em objetos: encapsulamento, herança e polimorfismo na prática, com princípios SOLID, padrões de projeto e pequenos sistemas em Java, do jeito que ensino na universidade.

  • Acesso imediato
  • Acesso vitalício
  • Material atualizado
Prof. José Rui dando uma palestra
Funcionario.java

Funcionario

  • − nome: String
  • − salario: double
  • + getNome(): String
  • + bonificacao(): double

− privado · + público

  • ana : Funcionario

    nome = "Ana"

    salario = 4000.0

  • davi : Funcionario

    nome = "Davi"

    salario = 3500.0

new Funcionario(...) cria cada objeto

cada filha sobrescreve o bônus (@Override)

for (Funcionario f : equipe)
    f.bonificacao();
  • Ana Funcionario 400,00
  • Bia Gerente 1.500,00
  • Caio Desenvolvedor 750,00
classe: o molde, com os atributos protegidos (encapsulamento)

# se você já travou

Se herança já virou um emaranhado no seu código, eu te entendo.

Você cria uma classe base e, na hora de estender, tudo vira um emaranhado. Muda um método e quebra meio sistema.

Polimorfismo parece simples no livro, mas na prática gera bugs difíceis de rastrear.

OO vai além de sintaxe: é projetar. Quando você entende o porquê de cada pilar, as classes passam a organizar o código em vez de complicá-lo.

antes

  • Classes enormes que fazem tudo
  • Herança usada só para copiar código
  • Mudar um método e quebrar meio sistema
  • Padrões de projeto decorados sem entender

depois do curso

  • Modelar requisitos reais em classes e objetos
  • Usar herança, classe abstrata e interface na medida certa
  • Aplicar SOLID: responsabilidade única e inversão de dependência
  • Organizar o sistema em MVC, com Factory e Visitor

# como funciona

Um curso feito como as minhas aulas.

  • Pequenos sistemas reais

    Cada módulo traz desafios em que você constrói um sistema de verdade, como o de bonificação de funcionários.

  • Exercícios comentados

    Exercícios práticos com soluções comentadas por mim, para você entender o porquê de cada decisão de projeto.

  • Material vivo no Notion

    Videoaulas, exemplos e exercícios num material navegável, atualizado sem custo extra.

  • Professor de verdade

    Conteúdo que nasceu de mais de 15 anos ensinando Orientação a Objetos na universidade.

# o que você vai aprender

Do primeiro objeto à arquitetura do sistema.

O curso segue o caminho de um projeto de verdade: modelar, relacionar, persistir, abstrair e arquitetar. Cada fase deixa o seu sistema mais organizado.

  • 5 fases
  • 27 tópicos
  • 2 práticas guiadas
  1. Modelar

    classes, objetos e encapsulamento

    Fase 1
  2. Relacionar

    coleções, agregação e responsabilidade única

    Fase 2
  3. Persistir e exibir

    telas com Swing, arquivos, XML e JSON

    Fase 3
  4. Abstrair

    herança, interfaces e polimorfismo

    Fase 4
  5. Arquitetar

    MVC, inversão de dependência e padrões

    Fase 5
  1. 01

    fase 01

    Classes, objetos e encapsulamento

    Você modela o problema em classes, cria objetos e protege o estado deles com encapsulamento, já usando as listas do Java.

    • 1.1. Linguagem Java e modelagem
    • 1.2. Classe, objeto e encapsulamento
    • 2.1. Classes sem relacionamentos
    • 2.2. List (ArrayList, LinkedList, Vector)
  2. 02

    fase 02

    Coleções, relacionamentos e SOLID

    Suas classes passam a se relacionar por agregação, com equals e hashCode corretos e uma responsabilidade por classe.

    • 2.2.2. HashMap (extra)
    • 2.2.3. equals() e hashCode()
    • 2.3. Single Responsibility (SOLID)
    • 2.4. Cláusula static
    • 2.5. Relacionamentos: agregação
    • 2.5.1. Agregação e Single Responsibility Principle
  3. 03

    fase 03

    Interface gráfica e persistência

    Seu sistema ganha telas com Swing e passa a salvar e ler dados em arquivo, XML e JSON.

    • 3.1. Swing GUI
    • 3.2. Swing GUI: exercícios prática
    • 3.3. Serialização: leitura e escrita em arquivo
    • 3.4. XML (eXtensible Markup Language)
    • 3.5. JSON
    • 3.6. Dinâmica de telas (JFrame, JDialog)
  4. 04

    fase 04

    Herança, abstração e polimorfismo

    Você reaproveita código com herança na medida certa, trata erros com exceções e usa interfaces e polimorfismo para deixar o sistema flexível.

    • 4.1. Herança
    • 4.2. Override na prática: sistema de bonificação prática
    • 4.3. Exceptions: throw
    • 5.1. Classe abstrata e interface
    • 5.2. Polimorfismo
  5. 05

    fase 05

    Arquitetura e padrões de projeto

    Você organiza o sistema em MVC, aplica a inversão de dependência e os padrões Factory e Visitor, e revisa OO para o POSCOMP.

    • 5.3. SOLID: Dependency Inversion
    • 5.4. AbstractTableModel
    • 6.0. Model View Controller (MVC)
    • 6.2. Padrão Factory
    • 6.3. Padrão Visitor
    • OO: preparação para o POSCOMP

# na prática

“Projetar em OO é dar alma e estrutura ao seu software.”

— Prof. José Rui

  • encapsulamento
  • herança
  • polimorfismo
  • SOLID
Prof. José Rui falando na Semana da Computação (SECOMP)
Reutilizar código é uma arte, mas só funciona quando você planeja antes de criar.

Depoimentos Youtube

Você pode conferir cada um (e muito mais) nos meus videos do canal

Edmundo Vicente
Edmundo Vicente @edmundovicente6781
há 1 ano

Boa noite, parei de assistir essa video aula pra fazer esse comentário, meu nobre você é nota 1000; meu professor de faculdade passou essa matéria para lá, nem se quer explicou com detalhes como você está fazendo, se não fosse pessoas dedicadas como você, nos alunos estaríamos perdidos.

Curtir
Responder
Prof. José Rui

Fala Edmundo, blz? É uma grande alegria receber comentários como o seu, pois só corrobora a verdade de que quando a gente trabalhar com afinco e determinação, a aula fica boa e facilita o entendimento dos meus alunos. Obrigado mesmo, pode ter certeza que isso me incentiva a produzir mais e melhores conteúdos!

Homenagens dos formandos

Alguns momentos que aquecem o coração

Turma 2018

Formandos 2018

Prof. José Rui

# quem ensina

Nasceu da sala de aula.

Sou José Rui, doutor em Ciência da Computação pela UFV e professor efetivo do IF Sudeste MG desde 2012.

Este curso nasceu das minhas aulas de Orientação a Objetos: o mesmo roteiro, os mesmos exercícios e os mesmos projetos que funcionaram com centenas de alunos.

Aqui você não decora padrões: aprende o porquê de cada pilar e constrói os seus próprios projetos, até pensar em objetos ficar natural.

“Quando você domina OO, não existe volta: seu código ganha vida e propósito.”

# Homenageado pelas turmas de formandos de 2018, 2019, 2022, 2023 e 2024.

# acesso completo

Tudo o que você precisa para pensar em objetos.

  • As 5 fases completas, com videoaulas e material no Notion
  • Exercícios práticos com soluções comentadas
  • Pequenos sistemas em Java, com interface gráfica e persistência
  • Princípios SOLID, MVC e os padrões Factory e Visitor
  • Atualizações do material sem custo extra
  • Acesso vitalício

de R$ 397,00 por

R$ 137,00

você economiza R$ 260,00

Quero meu acesso

Pagamento seguro pela Hotmart. O acesso é liberado assim que a compra é confirmada.

# perguntas frequentes

Ficou alguma dúvida?

Preciso conhecer Java antes de começar?

Java especificamente não. Mas é preciso ter lógica de programação e algoritmos, como o que ensino no ClariCode Essential, para acompanhar as aulas com tranquilidade.

Serve para quem já usa Java, mas não domina OO?

Sim. Foi pensado para quem conhece a sintaxe básica de Java (ou de outra linguagem) e quer aprender encapsulamento, herança e polimorfismo de forma prática, com boas práticas de código limpo e princípios SOLID.

Como são as aulas e os exercícios?

Videoaulas objetivas, material no Notion e exercícios práticos com soluções comentadas por mim.

Recebo acesso imediato?

Sim. Assim que a compra é confirmada, você recebe o acesso e pode começar.

O acesso é vitalício?

Sim. O conteúdo é seu, sem prazo de expiração, e as atualizações chegam sem custo extra.

Quero estudar OO