Presentation is loading. Please wait.

Presentation is loading. Please wait.

BITS Pilani Pilani Campus BITS Pilani Pilani Campus Avinash Gautam Department of Computer Science and Information Systems BITS Pilani.

Similar presentations


Presentation on theme: "BITS Pilani Pilani Campus BITS Pilani Pilani Campus Avinash Gautam Department of Computer Science and Information Systems BITS Pilani."— Presentation transcript:

1 BITS Pilani Pilani Campus BITS Pilani Pilani Campus Avinash Gautam Department of Computer Science and Information Systems BITS Pilani

2 Pilani Campus Object-Oriented Programming (CS/IS F213) Avinash Gautam avinash@pilani.bits-pilani.ac.in Chamber# 6121-Y, NAB Consultation Hour By appointment through mail

3 BITS Pilani, Pilani Campus Lecture-1 [OOP Basics] 3 Programming Paradigms Structured programming Object oriented programming OOP Concepts What is an object? What is a Class? What is Inheritance? What is an Interface?

4 BITS Pilani, Pilani Campus Programming Paradigms […1] High Level Languages (1960) – Large complex programs difficult to manage and maintain Structured Programming (1970) – Logically structure the program separate smaller more manageable components – Significant problems persisted Understanding the systems we need to create Changing existing software as users requirement change Modular languages (1980) – Modula2 and ADA, precursor to modern OO Languages

5 BITS Pilani, Pilani Campus Programming Paradigms […2] Object Oriented Paradigm and Component Based Software Development (1990) – Became the norm from 2000 onwards – Lead to the development of software components where the operation of the software and the data it operates on are modeled together – Lead to the development of reusable software components Save significant development time and cost Allow better software models to be produced which are more maintainable and easier to understand

6 BITS Pilani, Pilani Campus OOP Concepts 6

7 BITS Pilani, Pilani Campus What is an object? Look around you and identify some objects Real world objects share two characteristics TThey all have state TThey all have behavior Identifying the state and behavior for real-world objects is a great way to begin thinking in terms of object-oriented programming Two Questions WWhat possible states can this object be in? WWhat possible behavior can this object perform? WWrite down your observation Real world objects vary in complexity (Radio, Table Lamp) Objects may contain other objects These real world observations all translate into object oriented programming 7

8 BITS Pilani, Pilani Campus 8 Software objects are conceptually similar to real world objects: they too consist of state and related behavior An object store its state in fields and exposes its behavior through methods Methods operate on objects internal state and serve as the primary mechanism for object-to-object communication Hiding internal state and requiring all interaction through an object’s method is known as data encapsulation - a fundamental principle of OOP

9 BITS Pilani, Pilani Campus 9 Bicycle - By attributing state and providing methods for changing that state, the object remains in control of how the outside world is allowed to use it. For example, if the bicycle only has 6 gears, a method to change gears could reject any value that is less than 1 or greater than 6. Benefits of building code into individual software objects MModularity IInformation-hiding CCode re-use PPlug-ability and debugging ease What is an object? (Contd.)

10 BITS Pilani, Pilani Campus What is a Class? A class is a blueprint or prototype from which objects are created A class defines the general nature of a collection of objects of the same type The process creating an object from a class is called instantiation Every object is an instance of a particular class. There can be many instances of objects from the same class possible with different values for data 10

11 BITS Pilani, Pilani Campus Example 11 class Rose blueRose redRose class objects Object References

12 BITS Pilani, Pilani Campus What is Inheritance?  Different kinds of objects have a certain amount in common with each other  For example mountain bikes, road bikes, and tandem Bikes all share the characteristics of bicycles (current speed, current pedal cadence, current gear)  Yet each also defines additional features that make them different: tandem bicycles have two seats and two sets of handlebars; road bikes have drop handlebars etc  Object-oriented programming allows classes to inherit commonly used state and behaviour from other classes 12

13 BITS Pilani, Pilani Campus What is Inheritance? 13

14 BITS Pilani, Pilani Campus What is a Interface? Objects define their interaction with the outside world through the methods that they expose Methods form the object's interface with the outside world The buttons on the front of your television set, for example, are the interface between you and the electrical wiring on the other side of its plastic casing. You press the "power" button to turn the television on and off 14

15 BITS Pilani, Pilani Campus Questions Real-world objects contain _____ and ________ A software object's state is stored in its _____ A software object's behaviour is exposed through _______ Hiding internal data from the outside world, and accessing it only through publicly exposed methods is known as data ___________ A blueprint for a software object is called a ____ Common behaviour can be defined in a _________ and inherited into a _______ 15 statebehaviour fields methods encapsulation class super-class sub-class

16 BITS Pilani, Pilani Campus 16 THANK YOU 1. The material presented in these slides is used only for academic purpose 2. Copyright © Oracle Sun Microsystems


Download ppt "BITS Pilani Pilani Campus BITS Pilani Pilani Campus Avinash Gautam Department of Computer Science and Information Systems BITS Pilani."

Similar presentations


Ads by Google