We may earn an affiliate commission when you visit our partners.
Course image
Clovis Fernandes and Eduardo Guerra

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização.

O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.

Read more

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização.

O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.

Os conceitos Java apresentados neste curso incluem o seguinte: revisão de conceitos básicos de orientação a objetos, tais como classes, objetos, métodos e atributos, variáveis de instância e de classe; responsabilidades, colaborações e cartões CRC; testes de unidade, uso de plataforma IDE como o Eclipse; herança, classes concretas e abstratas, interfaces, modificadores de acesso, encapsulamento, métodos de acesso; aprofundamento nos conceitos de polimorfismo, sobrecarga e sobreposição; associação de classes, agregação e composição; exceções, delegação e acoplamento abstrato. Em seguida, vocês serão apresentados aos principais princípios usados para organizar o desenvolvimento de programas orientados a objetos com qualidade, dentre os quais, os princípios "Tell, Don't Ask!" e "Law of Demeter". Sempre que conveniente, cada conceito será representado por meio de diagramas UML. Você será exposto a propriedades e anotações em Java.

Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que você será capaz de implementar versões iniciais do componente de gamificação constante do Trabalho de Conclusão da Especialização, com base nas boas práticas exercitadas neste curso.

Enroll now

What's inside

Syllabus

Classes na Teoria e em Java
Neste módulo você será capaz de identificar, definir e diferenciar os conceitos básicos de orientação a objetos, tanto em teoria quanto em Java: classes, objetos, atributos de classes, construtores de classes, responsabilidades, colaborações e cartões CRC
Read more
Classes com Java e Modelagem CRC
Olá! Bem-vindo à semana 2 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com classes e métodos, bem como com modelagem CRC. Ao final desta semana, você será capaz de: 1) modelar o comportamento de classes com métodos em Java; 2) projetar novas classes para uma aplicação por meio da modelagem CRC
Testes de Unidade, Diagramas UML, Colaboração e Dependência
Olá! Bem-vindo à semana 3 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com Testes de Unidade e Diagramas de Classe da UML, bem como com os conceitos de dependência e contrato de classe. Ao final desta semana, você será capaz de: 1) testar com JUnit o comportamento de classes em Java; 2) projetar e representar classes com diagrama de classes da UML
Herança na Teoria e em Java
Olá! Bem-vindo à semana 4 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com Herança e Modificadores de Acesso. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java com base em boas práticas no uso de herança, 2) além de garantir acoplamento baixo entre classes pelo uso adequado de modificadores de acesso
Encapsulamento, Acoplamento entre Classes e Interfaces do Java
Olá! Bem-vindo à semana 5 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com os conceitos de Encapsulamento, Acoplamento entre Classes e Interfaces em Java. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java evitando quebras de encapsulamento e propiciando acoplamento baixo entre classes, 2) além de garantir acoplamento abstrato entre classes pelo uso adequado de interfaces em Java
Polimorfismo, Law of Demeter e Exceções em Java
Olá! Bem-vindo à semana 6 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com o conceito de Polimorfismo, princípio "Law of Demeter" e Exceções em Java. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java mais flexíveis e com acoplamento baixo, 2) além de garantir o tratamento adequado de exceções em Java

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines the fundamental ideas and concepts of object-oriented programming, suitable for beginners
Develops programming and problem-solving skills, essential for software development
Teaches modern coding practices and design principles, in line with industry standards
Instructs on the use of the popular Java programming language, widely used in software development
Provides real-world examples and exercises, enhancing practical understanding
Instructed by Clovis Fernandes and Eduardo Guerra, experienced instructors in the field

Save this course

Save Orientação a Objetos com Java to your list so you can find it easily later:
Save

Reviews summary

Excellent java course for beginners

This course is highly rated among students and receives an average score of 4.9 stars. Students found the course to be well-structured with an excellent curriculum and engaging assignments. The syllabus covers the core concepts of object-oriented programming in Java extensively and prepares students for further studies in the specialization.
Instructors are experts in OOP and Java.
"The instructors are experts in OOP and Java."
Challenging assignments help solidify learning.
"The assignments are challenging and help to solidify learning."
Comprehensive syllabus covers OOP concepts in-depth.
"The syllabus covers the core concepts of object-oriented programming in Java extensively."
Cost of certificate is high.
"The cost of the certificate is high."
Some audio issues reported.
"In some classes, the audio quality was poor."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Orientação a Objetos com Java with these activities:
Revise Basic Java Concepts
Refresh your understanding of basic Java concepts, such as data types, variables, and control flow, to strengthen your foundation for object-oriented programming.
Show steps
  • Review Java syntax and data types
  • Practice writing simple Java programs
  • Complete practice exercises on loops and conditional statements
Follow Java Tutorial on Inheritance and Polymorphism
Supplement your understanding by following guided tutorials that demonstrate the principles of inheritance and polymorphism in Java.
Show steps
  • Find reputable tutorials on Java inheritance and polymorphism.
  • Follow the tutorials step-by-step, creating code examples and experimenting with concepts.
Exercícios de Programação com Métodos
Fortaleça seu entendimento de métodos e colaboração de classes ao criar e testar métodos em Java.
Show steps
  • Crie uma classe simples com vários métodos.
  • Implemente métodos para executar diferentes funcionalidades.
  • Teste os métodos usando casos de teste unitários.
  • Analise os resultados dos testes e corrija quaisquer erros.
Ten other activities
Expand to see all activities and additional details
Show all 13 activities
Practice Coding Java Classes and Methods
Reinforce your learning by practicing the creation and manipulation of Java classes and methods.
Show steps
  • Set up a Java development environment.
  • Create Java classes with attributes and methods.
  • Instantiate objects from these classes and interact with their methods.
Solve Object-Oriented Programming Problems
Sharpen your OOP skills by solving problems that focus on encapsulation, inheritance, and polymorphism to improve your understanding of object-oriented concepts.
Browse courses on OOP Principles
Show steps
  • Practice designing classes and objects
  • Solve problems involving inheritance and method overriding
  • Implement polymorphic behavior in your solutions
Desenvolver exercícios de teste de unidade
Desenvolver exercícios de teste de unidade para fortalecer os conceitos de programação orientada a objetos.
Show steps
  • Criar uma classe de teste para cada classe do projeto.
  • Escrever testes de unidade para cada método da classe.
  • Executar os testes de unidade e corrigir quaisquer erros.
Participação em Fórum de Discussão
Participe de fóruns de discussão online para esclarecer dúvidas, compartilhar conhecimentos e se conectar com outros alunos.
Show steps
  • Encontre fóruns de discussão relevantes para o curso.
  • Faça perguntas ou responda a perguntas de outros alunos.
  • Compartilhe recursos, insights e experiências.
Projeto de Modelagem CRC
Aplique o conhecimento de modelagem CRC para projetar e documentar uma pequena aplicação em Java.
Show steps
  • Defina as classes e responsabilidades do sistema.
  • Crie cartões CRC para representar as classes.
  • Implemente as classes em Java com base na modelagem CRC.
  • Teste o programa para verificar seu comportamento correto.
Develop a Java Project on Encapsulation and Abstraction
Apply your knowledge by creating a Java project that demonstrates the principles of encapsulation and abstraction.
Show steps
  • Design a project that requires the use of encapsulation and abstraction.
  • Implement the project using Java, ensuring proper encapsulation and abstraction techniques.
  • Test and debug the project to ensure it meets the desired functionality.
Coleção de Exemplos de Código Orientados a Objetos em Java
Crie um repositório de exemplos de código que demonstrem a aplicação dos princípios de Orientação a Objetos em Java.
Show steps
  • Pesquise e colete exemplos de código de várias fontes.
  • Organize os exemplos de código em categorias ou tópicos.
  • Crie uma documentação ou guia para acompanhar os exemplos de código.
  • Compartilhe a coleção de exemplos de código com outros alunos.
Explore Advanced OOP Techniques
Expand your OOP knowledge by exploring advanced topics such as design patterns, generics, and reflection to enhance your understanding of complex software design and implementation.
Browse courses on Design Patterns
Show steps
  • Research and learn about design patterns
  • Apply design patterns in your own Java programs
  • Experiment with generics and reflection
Tutorial de Herança em Java
Crie um tutorial detalhando os conceitos de herança e modificadores de acesso em Java.
Show steps
  • Explique o conceito de herança e suas vantagens.
  • Demonstre como criar classes filhas e herdar métodos e atributos.
  • Discuta o uso de modificadores de acesso para controlar a visibilidade dos membros da classe.
  • Forneça exemplos de código para ilustrar os conceitos discutidos.
Mentoria para Alunos Iniciantes em Programação Orientada a Objetos
Compartilhe seus conhecimentos e ajude outros alunos iniciantes a entender os conceitos de Orientação a Objetos em Java.
Show steps
  • Ofereça-se para orientar alunos iniciantes em fóruns de discussão ou plataformas de aprendizagem.
  • Forneça orientação e suporte individual.
  • Crie materiais de aprendizagem ou guias para ajudar os alunos.

Career center

Learners who complete Orientação a Objetos com Java will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply engineering principles to the design, development, and maintenance of software systems. This course will provide you with a solid foundation in object-oriented programming, a fundamental concept in software engineering. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing software applications in Java. This course is a valuable step towards a career as a Software Engineer.
Software Developer
Software Developers design, develop, and maintain software applications. This course will help you build a strong foundation in object-oriented programming, a key skill for Software Developers. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing software applications in Java. This course is a valuable starting point for a career as a Software Developer.
Computer Systems Analyst
Computer Systems Analysts work with business stakeholders to understand their software needs, then design, implement, and maintain software solutions. This course provides a comprehensive introduction to object-oriented programming in Java. You will learn the core concepts of OOP, such as classes, objects, methods, and inheritance. You will also gain experience in designing and developing software applications using Java. This skill set will be essential for a career as a Computer Systems Analyst.
Computer Programmer
Computer Programmers write and maintain the code that makes software applications run. This course will provide you with a strong foundation in object-oriented programming, a key skill for Computer Programmers. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing software applications in Java. This course is a valuable starting point for a career as a Computer Programmer.
Web Developer
Web Developers design and develop websites and web applications. This course will help you build a strong foundation in object-oriented programming, a key skill for Web Developers. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing web applications in Java. This course is a valuable starting point for a career as a Web Developer.
Data Scientist
Data Scientists use data to solve business problems. This course will help you build a strong foundation in object-oriented programming, a key skill for Data Scientists. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing data analysis applications in Java. This course is a valuable starting point for a career as a Data Scientist.
Business Analyst
Business Analysts work with businesses to understand their needs and develop solutions to improve their operations. This course will help you build a strong foundation in object-oriented programming, a key skill for Business Analysts. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing business solutions in Java. This course may be particularly useful for aspiring Business Analysts who want to work in software development.
Project Manager
Project Managers plan, execute, and close projects. This course will help you build a strong foundation in object-oriented programming, a key skill for Project Managers in software development. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing project management applications in Java. This course may be particularly useful for aspiring Project Managers who want to work in software development.
Database Administrator
Database Administrators design, implement, and maintain databases. This course will help you build a strong foundation in object-oriented programming, a key skill for Database Administrators who work with object-oriented databases. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing database applications in Java. This course may be particularly useful for aspiring Database Administrators who want to work with object-oriented databases.
Software Architect
Software Architects design and build software systems. This course will help you build a strong foundation in object-oriented programming, a key skill for Software Architects who design and build software systems. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing software systems in Java. This course may be particularly useful for aspiring Software Architects who want to design and build software systems.
Systems Engineer
Systems Engineers design, build, and maintain complex systems. This course will help you build a strong foundation in object-oriented programming, a key skill for Systems Engineers who design and build software systems. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing software systems in Java. This course may be particularly useful for aspiring Systems Engineers who want to design and build software systems.
Systems Analyst
Systems Analysts design and implement computer systems. This course will help you build a strong foundation in object-oriented programming, a key skill for Systems Analysts who design and implement software systems. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing systems applications in Java. This course may be particularly useful for aspiring Systems Analysts who want to design and implement software systems.
Technical Writer
Technical Writers create documentation for software and other technical products. This course will help you build a strong foundation in object-oriented programming, a key skill for Technical Writers who document software applications. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing documentation for software applications in Java. This course may be particularly useful for aspiring Technical Writers who want to document software applications.
Information Security Analyst
Information Security Analysts protect computer systems and networks from security threats. This course will help you build a strong foundation in object-oriented programming, a key skill for Information Security Analysts who develop security applications. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing security applications in Java. This course may be particularly useful for aspiring Information Security Analysts who want to develop security applications.
Quality Assurance Analyst
Quality Assurance Analysts test software applications to ensure that they meet quality standards. This course will help you build a strong foundation in object-oriented programming, a key skill for Quality Assurance Analysts who test software applications. You will learn about classes, objects, methods, and inheritance. You will also gain experience in designing and developing testing applications in Java. This course may be particularly useful for aspiring Quality Assurance Analysts who want to test software applications.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Orientação a Objetos com Java.
Embora não seja escrito em português, este livro é uma referência clássica sobre orientação a objetos em Java. Ele aborda os conceitos fundamentais com profundidade e clareza, o que o torna um excelente recurso para complementar o curso.
Este livro é um guia abrangente para a linguagem Java. Ele cobre desde os conceitos básicos até tópicos mais avançados, como orientação a objetos. É uma boa opção para quem deseja aprofundar seus conhecimentos sobre Java e complementar o curso.
Um livro abrangente que cobre todos os aspectos da linguagem Java, incluindo conceitos avançados de orientação a objetos.
Este livro utiliza uma abordagem divertida e prática para ensinar Java. Ele é especialmente útil para quem está iniciando na linguagem e deseja complementar o curso com uma leitura mais descontraída.
Embora não seja específico sobre orientação a objetos, este livro aborda princípios importantes de desenvolvimento de software, como design limpo e código legível. É uma excelente leitura para quem deseja aprimorar suas habilidades de programação e complementar o curso.
Este livro clássico sobre padrões de projeto é uma referência essencial para qualquer desenvolvedor que deseja criar software reutilizável e de alta qualidade. Ele pode ser útil para complementar o curso, fornecendo uma compreensão mais profunda dos padrões de projeto.
Embora seja escrito em C#, este livro aborda princípios e práticas ágeis que são aplicávequalquer linguagem de programação, incluindo Java. Ele pode ser útil para complementar o curso, fornecendo uma compreensão mais ampla dos métodos ágeis.
Embora seja um livro mais avançado, este clássico sobre Domain-Driven Design pode ser útil para aqueles que desejam aprofundar seus conhecimentos sobre design de software orientado a objetos. Ele pode complementar o curso, fornecendo uma compreensão mais abrangente dos conceitos de orientação a objetos.
Este livro utiliza uma abordagem divertida e prática para ensinar padrões de projeto. Ele é uma boa opção para quem deseja complementar o curso com uma leitura mais descontraída e acessível.
Embora não seja específico sobre orientação a objetos, este livro aborda princípios e práticas de desenvolvimento orientado a testes. Ele pode ser útil para complementar o curso, fornecendo uma compreensão mais profunda sobre testes de software.
Embora seja mais avançado, este livro aborda tópicos avançados de concorrência em Java. Ele pode ser útil para aqueles que desejam aprofundar seus conhecimentos sobre programação concorrente e complementar o curso com uma perspectiva mais especializada.
Embora seja um livro mais avançado, este guia prático aborda técnicas e práticas para escrever código Java mais eficaz. Ele pode ser útil para aqueles que desejam aprimorar suas habilidades de programação e complementar o curso com uma perspectiva mais experiente.
Esta é a especificação oficial da linguagem Java. Embora não seja uma leitura fácil, pode ser útil para aqueles que desejam aprofundar seus conhecimentos sobre a linguagem e complementar o curso com uma referência técnica.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Orientação a Objetos com Java.
TDD – Desenvolvimento de Software Guiado por Testes
Most relevant
Desenvolvimento Ágil com Padrões de Projeto
Most relevant
Desenvolvimento Ágil com Java Avançado
Most relevant
Princípios de Desenvolvimento Ágil de Software
Most relevant
Fundamentos de Negócios
Most relevant
Gestão de Stakeholders, Ética e Sustentabilidade...
Most relevant
Fundamentos de Inteligência Artificial para Finanças
Most relevant
Python para a Ciência de Dados e IA
Most relevant
Principais Elementos do Sucesso do Cliente
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser