Abstraction-OOAD An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of objects, relative to the perspective of the viewer.” Example − When a class Student is designed, the attributes enrolment_number , name, course, and address are included while characteristics like pulse_rate and size_of_shoe are eliminated, since they are irrelevant in the perspective of the educational institution Dr.S.Rajesh AP/CSE
Encapsulation Encapsulation is the process of binding both attributes and methods together within a class. Through encapsulation, the internal details of a class can be hidden from outside. The class has methods that provide user interfaces by which the services provided by the class may be used . Dr.S.Rajesh AP/CSE
Class Hierarchy In Grady Booch’s words, “Hierarchy is the ranking or ordering of abstraction”. It uses the principle of “divide and conquer”. Hierarchy allows code reusability. The two types of hierarchies in OOA are − Dr.S.Rajesh AP/CSE
“IS–A” hierarchy − It defines the hierarchical relationship in inheritance, whereby from a super-class, a number of subclasses may be derived which may again have subclasses and so on. For example, if we derive a class Rose from a class Flower, we can say that a rose “is–a” flower. Dr.S.Rajesh AP/CSE
“ PART–OF” hierarchy − It defines the hierarchical relationship in aggregation by which a class may be composed of other classes. For example, a flower is composed of sepals, petals, stamens, and carpel. It can be said that a petal is a “part–of” flower. Dr.S.Rajesh AP/CSE
Persistence In files or databases, the object lifespan is longer than the duration of the process creating the object. This property by which an object continues to exist even after its creator ceases to exist is known as persistence. Dr.S.Rajesh AP/CSE
Dynamic binding Static binding is a binding in which name can be associated with the class during compilation time , and it is also called as early Binding. Dynamic binding is a binding in which name can be associated with the class during execution time , and it is also called as Late Binding Dr.S.Rajesh AP/CSE
Inheritance Inheritance is the property of object-oriented systems that allows objects to be built from other objects. Inheritance is a relationship between classes where one class is the parent class of another derived class called base class or super class. Dr.S.Rajesh AP/CSE
Types of inheritance Dynamic inheritance. It allows objects to change and evolve over time. Since base classes provide properties and attributes for objects, changing base classes changes the properties and attributes of a class. . Dr.S.Rajesh AP/CSE
Multiple inheritance. Some object-oriented systems permit a class to inherit its state (attributes) and behaviors form more than one super class Dr.S.Rajesh AP/CSE
Polymorphism Polymorphism means that the same operation may behave differently on different classes. Polymorphism allows us to write generic, reusable code more easily, specify general instructions and delegate the implementation details to the objects involved. Dr.S.Rajesh AP/CSE
Meta Classes If a class is an object, it must belong to a class which is called as meta-class or a class of classes. All the objects are instances of a class and all classes are instances of a meta-class. Meta-classes are used by the compiler. Dr.S.Rajesh AP/CSE