You are on page 1of 27

CMP-2123-Object

Oriented Programming
Lecture 1
By
Muhammad Noman
Course Introduction
•Prerequisites
•Programming Fundamentals
•Course Objective
•This course aims to develop students’ Objects
oriented programming skills.

2
Course Introduction
•Textbook
•Java Programming From the Ground Up by Ralph
Bravaco and Shai Simonson, McGraw-Hill Higher
Education New York, 2010, ISBN: 978-0-07-352335-4
•Ivor Horton’s Beginning Java by Ivor Horton, John
Wiley & Sons, Inc. 7th Edition, 2011, ISBN: 978-0-
470- 40414-0

3
Course Introduction

•Reference Material
•Java TM Programming by Joycee Farrell,6th Edition,
Cengage Learning, 2012, ISBN-13: 978-1-111- 52944-4
•Java TM How to Program By Paul Deitel and Harvery
Deitel, Pearson,9th Edition, 2012, ISBN-13: 978-0- 13-
257566-9

4
Course Overview
•Objects and Classes, Abstraction Encapsulation
•Final Classes, Nested and Inner Classes
•Inheritance, Abstract Classes, Concrete Classes,
Inheritance and Encapsulation
•The is-a Relationship, Inheritance via Abstract Classes,
Extending the Hierarchy, Upcasting and Downcasting,
Interfaces

5
Course Overview
•Composition, has-a Relationship
•Polymorphism
•Dynamic Binding
•Interfaces and Polymorphism

6
Course Overview
•The Wrapper Classes, Boxing and Unboxing Packages
•Exceptions and Exception Handling
•File System and paths, File Directory Handling and Manipulation,
Input/Output Streams, Reading Binary Data, Writing Binary Data,
Writing Text, reading text, Logging with PrintStream, Random
Access Files, Serialization
•Collection for-each Loop

7
Course Overview
•GUI Concepts, Components and Containers, Abstract
Windows Toolkit and Swing, Windows and Frames, Layout
Managers, Panels
•Event-Driven Programming, The Delegation Event Model
•Event Classes, Mouse Events, Keyboard Events, Using Actions
•Component and Jcomponent, Buttons, Labels, Text Fields,
Text Areas, Dialog Boxes, Checkboxes, and Radio Buttons,
Menus, Jslider, JTabbedPane

8
What is OOP
•Object-oriented programming (OOP) is a programming
language model organized around objects rather than
"actions" and data rather than logic.
•Historically, a program has been viewed as a logical
procedure that
•takes input data
•processes it
•produces output data.
•The programming challenge was seen as how to write the
logic, not how to define the data.
9
What is OOP
•Object-oriented programming takes the view that what we
really care about are the objects we want to manipulate
rather than the logic required to manipulate them.
•Example
•Human Being
•Name
•Height
•Age
•Gender
•Race
•etc
10
What is OOP
•Object Oriented Programming is an engineering approach
for building software systems
•Based on the concepts of
•Classes
•Objects
That are used for modeling the real world entities.

11
Why OOP
•Better suited for team development
•Facilitate utilizing and creating reusable components.
•Easier GUI Programming
•Easier Software maintenance

12
Principles of OOP
•Inheritance
•Abstraction
•Encapsulation
•Polymorphism

13
About
• Simula is considered as the first object-oriented
programming language. The programming paradigm
where everything is represented as an object, is
known as truly object-oriented programming
language.

14
OOP
• Object means a real word entity such as pen, chair, table
etc. Object- Oriented Programming is a methodology or
paradigm to design a program using classes and objects. It
simplifies the software development and maintenance by
providing some concepts:
•Object
•Class
•Inheritance
•Polymorphism
•Abstraction
•Encapsulation
15
Object:
Any entity that has state and behavior is known as an
object. For example: chair, pen, table, keyboard, bike etc. It
can be physical and logical.
16
•Class
• Collection of objects is called class. It is a logical entity.

• Syntax to declare a class:

17
Simple Example of Object and Class
•In this example, we have created a Student class that have
two data members id and name. We are creating the
object of the Student class by new keyword and printing
the objects value.

18
19
20
• Polymorphism
•When one task is performed by different ways i.e. known as
polymorphism. For example: to convince the customer
differently, to draw something e.g. shape or rectangle etc.
•In java, we use method overloading and method overriding to
achieve polymorphism.
•Another example can be to speak something e.g. cat speaks
meaw, dog barks woof etc.

• Inheritance
• When one object acquires all the properties and behaviors
of parent object i.e. known as inheritance. It provides code
reusability. It is used to achieve runtime polymorphism.
21
22
• Abstraction
• Hiding internal details and showing functionality is known as
abstraction. For example: phone call, we don't know the
internal processing.
•In java, we use abstract class and interface to achieve
abstraction.

• Encapsulation
• Binding (or wrapping) code and data together into a single
unit is known as encapsulation. For example: capsule, it is
wrapped with different medicines.
•A java class is the example of encapsulation. Java bean is the
fully encapsulated class because all the data members are
private here. 23
24
Advantage of OOPs over Procedure- oriented
programming language
•OOPs makes development and maintenance easier where as
in Procedure-oriented programming language it is not easy
to manage if code grows as project size grows.
•OOPs provides data hiding whereas in Procedure-oriented
programming language a global data can be accessed from
anywhere.
•OOPs provides ability to simulate real-world event much
more effectively. We can provide the solution of real word
problem if we are using the Object-Oriented Programming
language. 25
•What is difference between object-oriented
programming language and object-based
programming language?
•Object based programming language follows all the
features of OOPs except Inheritance. JavaScript and
VBScript are examples of object based programming
languages.

26
Thank You

You might also like