Object Oriented Programming in Java

This course introduces learners to Object-Oriented Programming (OOP) using Java, covering essential concepts such as classes, objects, inheritance, polymorphism, abstraction, and interfaces. Students will learn to design and implement Java programs using OOP principles and apply them in a practical project, such as a Library Management System. The course is suitable for learners with basic programming knowledge who want to develop structured, reusable, and maintainable code in Java.

No Certificate / Course on Audit Track

About Course

This course introduces the fundamentals of Object-Oriented Programming (OOP) using Java, including concepts like classes, objects, inheritance, polymorphism, and abstraction. Learners will develop skills to write structured, reusable, and maintainable code. Through hands-on practice and a practical project such as a Library Management System, students will apply OOP principles in real-world scenarios. It is ideal for learners with basic programming knowledge seeking to strengthen their Java development skills.

Authorship and Attribution

This course has been curated by Riphah International University faculty and staff using publicly available third-party content and Open Educational Resources (OER) for self-paced learning. Learners will engage with curated open-access materials to achieve the course learning outcomes. All third-party content is used under open-access or fair-use policies, while any original materials are developed specifically for this learning experience.

 

Source and Credits:

  • Instructor: CodeWithHarry
  • Provider: YouTube (@CodeWithHarry)
  • License: Standard YouTube license

What You'll Learn

By the end of this course, you will be able to:

  • Explain the fundamental concepts and terminology of Object-Oriented Programming (OOP) in Java.
  • Design and implement Java programs using classes, objects, access modifiers, constructors, and encapsulation.
  • Apply key OOP principles such as inheritance, abstraction, polymorphism, and interfaces to develop reusable and maintainable code.
  • Develop a simple Java-based application by applying OOP concepts using tools such as Apache NetBeans and executing programs through the Java Virtual Machine.

Prerequisites

To be successful in this course, learners should have a basic understanding of computers and fundamental programming concepts. Students should be familiar with basic programming elements such as variables, data types, operators, conditional statements, and loops. Prior exposure to writing simple programs in Java and understanding how programs are compiled and executed will also be helpful. Additionally, learners should be comfortable using a development environment such as Apache NetBeans and have a basic idea of how the Java Virtual Machine runs Java programs. This background will help students understand Object-Oriented Programming concepts more effectively.

Who Can Take This Course?

This course is designed for: 

  • Students interested in learning Object-Oriented Programming (OOP) using Java
  • Beginner to intermediate learners in computer science or related fields
  • Individuals with basic programming knowledge seeking to improve their skills
  • Learners who want to design programs using classes, objects, inheritance, and abstraction
  • Students aiming to build practical Java applications
  • Those interested in using tools like Apache NetBeans and understanding the Java Virtual Machine

Course Outline

Introduction to OOP

Introduction (Video)

Basic Terminologies in OOP (Video)

Concept of Classes and Objects

Creating Our Own Java Class (Video)

Access Modifiers, Getters & Setters in Java (Video)

Concept of Constructors

Constructors in Java (Video)

Inheritance in Java

Inheritance (Video)

Constructors in Inheritance (Video)

Concept of this and super Keywords

“this” and “super” Keywords (Video)

Method Overriding in Java

Method Overriding (Video)

Abstraction

Abstract Class & Abstract Methods (Video)

Introduction to Interfaces

Interfaces (Video)

Interfaces Example and Default Methods

Interfaces and Default Methods (Video)

Inheritance in interfaces

Inheritance (Video)

Polymorphism in Interfaces

Polymorphism (Video)

Library Management System in Java

Library Management System (Video)

Skills You Will Gain

OOP Fundamentals Java Programming Class Design Object Creation Constructor Usage Inheritance Concepts Method Overriding Abstraction Techniques Interface Implementation

Course Information

Duration

Approximately 4 Hours

Course Information

Difficulty Level

Intermediate

Learning Mode

Fully Online (Asynchronous)

Learning Type

Self Paced

Language

English Only

Instructor/Curator

Course Instructor