1) Question : What is the difference between a class and an instance of the class?
ANSWER :
- An Instance of a class is called an Object and an object is created from a class . Sothat now we have to know the difference between class and the object.
- A Class is a representation of how an Object has to be instanciated and An object is an Instance of a Class(Characteristic and behavior of a class is an object).
- Class describes the general behaviour of objects where as instance is the condition of class at a particular time i.e.,run time
- Class is a collection of data member and member functions and also it is a user define data type. Each instance of class contains all members(variables and functions) declared in the class.
EX:
class A{
int i; //Instance Variable
String s; //Instance Variable
}
2) What are the benifits of encapsulation ?
ANSWER :
Encapsulation is wrapping the data and methods together as a single unit.
Encapsulation is defined as follows:
- Declare the variables of a class as private type that means they can be accessed only by other members of the class, and not by any other part of your program. Ex : private int x; private char c;
- Create public class to view the variables values.
- Encapsulation is the technique of create the fields in a private class and providing access to the fields via public methods.
- If a field is declared private, it cannot be accessed by anyone outside the class, thereby hiding the fields within the class.
3) Question : what is the difference between the person structure and the person class?
ANSWER :
By default, a class has all members are of private type and a struct is a class where members are of public type.
struct Person
{
string name;
int age;
};
Here struct is a keyword of type public as defalut as we already discuss.
Here two variables called name of type string and age of type integer. These both are able to use in any of method.
struct Person {
string name;
int age; // name and age are of public
};
int main()
{
Person p;
p.age = 20; // works fine because age is public
return 0;
}
Where as string and name variables are Private type in class.
class Person {
string name;
int age; // name and age are of private
};
int main()
{
Person p;
p.age = 20; // compiler error because age is private
return 0;
}