Download the latest CBSE Class 12 Computer Science Oops Notes in PDF format. These Class 12 Computer Science revision notes are carefully designed by expert teachers to align with the 2025-26 syllabus. These notes are great daily learning and last minute exam preparation and they simplify complex topics and highlight important definitions for Class 12 students.
Chapter-wise Revision Notes for Class 12 Computer Science Oops
To secure a higher rank, students should use these Class 12 Computer Science Oops notes for quick learning of important concepts. These exam-oriented summaries focus on difficult topics and high-weightage sections helpful in school tests and final examinations.
Oops Revision Notes for Class 12 Computer Science
BASIC CONCEPTS OF OOPS & CLASSES AND OBJECTS
Object-Oriented Programming groups related data and functions together in a class, generally making data private and only some functions public. Restricting access decreases coupling and increases cohesion. It has proven to be very effective in reducing the complexity increase with large programs. For small programs may be difficult to see the advantage of OOP over, eg, structured programming because there is little complexity regardless of how it's written.
It helps in programming approach in order to built robust user friendly and efficient software and provides the efficient way to maintain real world software. OOP is an Object Oriented Programming language which is the extension of Procedure Oriented Programming language. OOPs reduce the code of the program because of the extensive feature of Polymorphism. OOPs have many properties such as DataHiding, Inheritance Data Abstraction, Data Encapsulation and many more. The main aim is to creating an Object to the Entire program and that to we can control entire program using the Object. The main features of OOPS is Polymorphism, Multiple Inheritance, Abstraction and Encapsulation.
Objects:
Object is the basic unit of object-oriented programming. Objects are identified by its unique name. Anobject represents a particular instance of a class.
An Object is a collection of data members and associated member functions also known as methods.
Classes:
· Classes are data types based on which objects are created.
· Thus a Class represents a set of individual objects. Characteristics of an object are
represented in a class as Properties. The actions that can be performed by objects become functions of the class and are referred to as Methods.
· Classes are the blueprints upon which objects are created. E.g when we design a map of the house, the architect first designs it. Once it is designed, the raw material is used to build the house. In this example, Design of the house is CLASS (blueprint) and the house built on the basis of design is an object.
No memory is allocated when a class is created. Memory is allocated only when an object is created, i.e., when an instance of a class is created.
Inheritance:
· Inheritance is the process of forming a new class from an existing class or base class. The base class is also known as parent class or super class. The new class that is formed is called derived class.
· Derived class is also known as a child class or sub class. Inheritance helps in reducing the overall code size of the program, which is an important concept in object-oriented programming. It is the process by which one class inherits the properties of another Class.
Data Abstraction:
· Data Abstraction increases the power of programming language by creating user defined data types.
· Data Abstraction also represents the needed information in the program without presenting the details.
Classes
Public and Private sections
All member fields in a class are private by default (no code outside the class can reference them),
whereas fields of a struct are public, meaning that anyone can use them. For example,
struct Product {char mfg_id[4]; // 4 char code for the manufacturer.
char prod_id[8]; // 8-char code for the product
int price; // price of the product in dollars.
int qty_on_hand; // quantity on hand in inventory
};
Could be rewritten as a class like this
class Product {
public:
char mfg_id[4]; // 4 char code for the manufacturer.
char prod_id[8]; // 8-char code for the product
int price; // price of the product in dollars.
int qty_on_hand; // quantity on hand in inventory
};
A class is an expanded concept of a data structure: instead of holding only data, it can hold both data and functions.
An object is an instantiation of a class. In terms of variables, a class would be the type, and an object would be the variable.
Classes are generally declared using the keyword class, with the following format:
class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;
Where class_name is a valid identifier for the class, object_names is an optional list of names for objects of this class. The body of the declaration can contain members that can either be data or function declarations, and optionally access specifiers.
All is very similar to the declaration on data structures, except that we can now include also functions and members, but also this new thing called access specifier. An access specifier is one of the following three keywords: private, public or protected. These specifiers modify the access rights that the members following them acquire:
• private members of a class are accessible only from within other members of the same class or from their friends.
• protected members are accessible from members of their same class and from their friends,
but also from members of their derived classes.
• Finally, public members are accessible from anywhere where the object is visible.
By default, all members of a class declared with the class keyword have private access for all its members. Therefore, any member that is declared before one other class specifier automatically has private access. For example:
class CRectangle { int x, y;
public:
void set_values (int,int);
int area (void);
} rect;
Declares a class (i.e., a type) called CRectangle and an object (i.e., a variable) of this class called rect. This class contains four members: two data members of type int (member x and member y) with private access (because private is the default access level) and two member functions with public access: set_values() and area(), of which for now we have only included their declaration, not their definition.
Notice the difference between the class name and the object name: In the previous example, CRectangle was the class name (i.e., the type), whereas rect was an object of type CRectangle. It is the same relationship int and a have in the following declaration:
int a; where int is the type name (the class) and a is the variable name (the object).
After the previous declarations of CRectangle and rect, we can refer within the body of the program to any of the public members of the object rect as if they were normal functions or normal variables, just by putting the object's name followed by a dot (.) and then the name of the member. All very similar to what we did with plain data structures before. For example:
rect.set_values (3,4);
myarea = rect.area();
The only members of rect that we cannot access from the body of our program outside the class are x and y, since they have private access and they can only be referred from within other members of that same class.
Here is the complete example of class CRectangle:
class CRectangle {int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};
void CRectangle::set_values (int a, int b) {x = a; y = b;}
int main () {CRectangle rect;
rect.set_values (3,4);
cout << "area: " << rect.area();
return 0;}
The most important new thing in this code is the operator of scope (::, two colons) included in the definition of set_values(). It is used to define a member of a class from outside the class definition itself.
You may notice that the definition of the member function area() has been included directly within the definition of the CRectangle class given its extreme simplicity, where asset_values() has only its prototype declared within the class, but its definition is outside it. In this outside declaration, we must use the operator of scope (::) to specify that we are defining a function that is a member of the class CRectangle and not a regular global function.
The scope resolution operator (::) specifies the class to which the member being declared belongs,bgranting exactly the same scope properties as if this function definition was directly included within thebclass definition. For example, in the function set_values() of the previous code, we have been able to use the variables x and y, which are private members of classCRectangle, which means they are only accessible from other members of their class.
The only difference between defining a class member function completely within its class or to include only the prototype and later its definition, is that in the first case the function will automatically be considered an inline member function by the compiler, while in the second it will be a normal (notinline) class member function, which in fact supposes no difference in behavior.
Members x and y have private access (remember that if nothing else is said, all members of a class defined with keyword class have private access). By declaring them private we deny access to them from anywhere outside the class. This makes sense, since we have already defined a member function to set values for those members within the object: the member function set_values().
Therefore, the rest of the program does not need to have direct access to them. Perhaps in a so simple example as this, it is difficult to see any utility in protecting those two variables, but in greater projects it may be very important that values cannot be modified in an unexpected way (unexpected from the point of view of the object).
One of the greater advantages of a class is that, as any other type, we can declare several objects of it. For example, following with the previous example of class CRectangle, we could have declared the object rectb in addition to the object rect:
class CRectangle { int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};
void CRectangle::set_values (int a, int b) { x = a; y = b;}
int main () { CRectangle rect, rectb;
rect.set_values (3,4);
rectb.set_values (5,6);
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
return 0;}
In this concrete case, the class (type of the objects) to which we are talking about is CRectangle, of which there are two instances or objects: rect and rectb. Each one of them has its own member variables and member functions.
Notice that the call to rect.area() does not give the same result as the call to rectb.area(). This is because each object of class CRectangle has its own variables x and y, as they, in some way, have also their own function members set_value() and area() that each uses its object's own variables to operate.
That is the basic concept of object-oriented programming: Data and functions are both members of the object. We no longer use sets of global variables that we pass from one function to another as parameters, but instead we handle objects that have their own data and functions embedded as members. Notice that we have not had to give any parameters in any of the calls to rect.area or rectb.area. Those member functions directly used the data members of their respectiveobjects rect and rectb.
Constructors and Destructors
· Constructors and destructors are special member functions of classes that are used to construct and destroy class objects. Construction may involve memory allocation and initialization for objects.
· Destruction may involve cleanup and deallocation of memory for objects.
Please click the link below to download pdf file for CBSE Class 12 Computer Science - Basic Concepts Of Oops.
| CBSE Class 12 Computer Science Boolean Algebra Notes Set A |
| CBSE Class 12 Computer Science Boolean Algebra Notes Set B |
| CBSE Class 12 Computer Science Boolean Algebra Notes Set C |
| CBSE Class 12 Computer Science Notes Of Cloud Computing And Open Standards Notes |
| CBSE Class 12 Computer Science Communication And Computer Networks Notes |
| CBSE Class 12 Computer Science Communication And Network Notes Set A |
| CBSE Class 12 Computer Science Communication And Network Notes Set B |
| CBSE Class 12 Computer Science Computer Networks Notes |
| CBSE Class 12 Computer Science Data File Handling In C++ Notes |
| CBSE Class 12 Computer Science Data Structure Notes Set A |
| CBSE Class 12 Computer Science Data Structure Notes Set B |
| CBSE Class 12 Computer Science Data Structure Notes Set C |
| CBSE Class 12 Computer Science Data Structures Notes |
| CBSE Class 12 Computer Science Data Visualization Using Pyplot Notes |
| CBSE Class 12 Computer Science Database And SQL Notes Set A |
| CBSE Class 12 Computer Science Database And SQL Notes Set B |
| CBSE Class 12 Computer Science File Handling Notes |
| CBSE Class 12 Computer Science Free And Open Source Software Notes |
| CBSE Class 12 Computer Science Functions In Python Notes |
| CBSE Class 12 Computer Science Idea of Efficiency Notes |
| CBSE Class 12 Computer Science Interface Python with an SQL database Notes |
| CBSE Class 12 Computer Science Introduction To C++ Notes |
| CBSE Class 12 Computer Science Revision of The Basics of Python Notes |
| CBSE Class 12 Computer Science Society Law and Ethics Notes |
| CBSE Class 12 Computer Science SQL Commands Aggregation Functions Notes |
| CBSE Class 12 Computer Science Using Python Libraries Notes |
Important Practice Resources for Class 12 Computer Science
CBSE Class 12 Computer Science Oops Notes
Students can use these Revision Notes for Oops to quickly understand all the main concepts. This study material has been prepared as per the latest CBSE syllabus for Class 12. Our teachers always suggest that Class 12 students read these notes regularly as they are focused on the most important topics that usually appear in school tests and final exams.
NCERT Based Oops Summary
Our expert team has used the official NCERT book for Class 12 Computer Science to design these notes. These are the notes that definitely you for your current academic year. After reading the chapter summary, you should also refer to our NCERT solutions for Class 12. Always compare your understanding with our teacher prepared answers as they will help you build a very strong base in Computer Science.
Oops Complete Revision and Practice
To prepare very well for y our exams, students should also solve the MCQ questions and practice worksheets provided on this page. These extra solved questions will help you to check if you have understood all the concepts of Oops. All study material on studiestoday.com is free and updated according to the latest Computer Science exam patterns. Using these revision notes daily will help you feel more confident and get better marks in your exams.
You can download the teacher prepared revision notes for CBSE Class 12 Computer Science Oops Notes from StudiesToday.com. These notes are designed as per 2025-26 academic session to help Class 12 students get the best study material for Computer Science.
Yes, our CBSE Class 12 Computer Science Oops Notes include 50% competency-based questions with focus on core logic, keyword definitions, and the practical application of Computer Science principles which is important for getting more marks in 2026 CBSE exams.
Yes, our CBSE Class 12 Computer Science Oops Notes provide a detailed, topic wise breakdown of the chapter. Fundamental definitions, complex numerical formulas and all topics of CBSE syllabus in Class 12 is covered.
These notes for Computer Science are organized into bullet points and easy-to-read charts. By using CBSE Class 12 Computer Science Oops Notes, Class 12 students fast revise formulas, key definitions before the exams.
No, all study resources on StudiesToday, including CBSE Class 12 Computer Science Oops Notes, are available for immediate free download. Class 12 Computer Science study material is available in PDF and can be downloaded on mobile.