Aspdotnet-Suresh

aspdotnet-suresh offers C#.net articles and tutorials,csharp dot net,asp.net articles and tutorials,VB.NET Articles,Gridview articles,code examples of asp.net 2.0 /3.5,AJAX,SQL Server Articles,examples of .net technologies

Introduction to Object Oriented Programming Concepts (OOPS) in C#.net

Apr 16, 2010
OOPS Concepts

Class:

 It is a collection of objects.

Object:

It is a real time entity.
An object can be considered a "thing" that can perform a set of related activities. The set of activities that the object performs defines the object's behavior. For example, the hand can grip something or a Student (object) can give the name or address. In pure OOP terms an object is an instance of a class


The above template describe about object Student
Class is composed of three things name, attributes, and operations

public class student
{
}
student objstudent=new student ();

According to the above sample we can say that Student object, named objstudent, has created out of the student class.

In real world you will often find many individual objects all of the same kind. As an example, there may be thousands of other bicycles in existence, all of the same make and model. Each bicycle has built from the same blueprint. In object-oriented terms, we say that the bicycle is an instance of the class of objects known as bicycles. In the software world, though you may not have realized it, you have already used classes. For example, the Textbox control, you always used, is made out of the Textbox class, which defines its appearance and capabilities. Each time you drag a Textbox control, you are actually creating a new instance of the Textbox class.

Encapsulation:

Encapsulation is a process of binding the data members and member functions into a single unit.

Example for encapsulation is class. A class can contain data structures and methods.
Consider the following class

public class Aperture
{
public Aperture ()
{
}
protected double height;
protected double width;
protected double thickness;
public double get volume()
{
Double volume=height * width * thickness;
if (volume<0)
return 0;
return volume;
}
}

In this example we encapsulate some data such as height, width, thickness and method Get Volume. Other methods or objects can interact with this object through methods that have public access modifier.


To know more about Encapsulation check this Encapsulation in C# with Examples.

Abstraction:

Abstraction is a process of hiding the implementation details and displaying the essential features.

Example1: A Laptop consists of many things such as processor, motherboard, RAM, keyboard, LCD screen, wireless antenna, web camera, usb ports, battery, speakers etc. To use it, you don't need to know how internally LCD screens, keyboard, web camera, battery, wireless antenna, speaker’s works.  You just need to know how to operate the laptop by switching it on. Think about if you would have to call to the engineer who knows all internal details of the laptop before operating it. This would have highly expensive as well as not easy to use everywhere by everyone.

So here the Laptop is an object that is designed to hide its complexity.


How to abstract: - By using Access Specifiers

To know more about abstraction check this Abstraction in c# with Examples.

.Net has five access Specifiers

Public -- Accessible outside the class through object reference.

Private -- Accessible inside the class only through member functions.

Protected -- Just like private but Accessible in derived classes also through member 
functions.

Internal -- Visible inside the assembly. Accessible through objects.

Protected Internal -- Visible inside the assembly through objects and in derived classes outside the assembly through member functions.

Let’s try to understand by a practical example:-


public class Class1
    {
        int  i;                                         //No Access specifier means private
        public  int j;                                        // Public
        protected int k;                             //Protected data
        internal int m;                        // Internal means visible inside assembly
        protected internal int n;                   //inside assembly as well as to derived classes outside assembly
        static int x;                                 // This is also private
        public static int y;                       //Static means shared across objects
        [DllImport("MyDll.dll")]
        public static extern int MyFoo();       //extern means declared in this assembly defined in some other assembly
        public void myFoo2()
        {
            //Within a class if you create an object of same class then you can access all data members through object reference even private data too
            Class1 obj = new Class1();
            obj.i =10;   //Error can’t access private data through object.But here it is accessible.:)
            obj.j =10;
            obj.k=10;
            obj.m=10;
            obj.n=10;
       //     obj.s =10;  //Errror Static data can be accessed by class names only
            Class1.x = 10;
         //   obj.y = 10; //Errror Static data can be accessed by class names only
            Class1.y = 10;
        }
    }

Now lets try to copy the same code inside Main method and try to compile
[STAThread]
        static void Main()
        {
           //Access specifiers comes into picture only when you create object of class outside the class
            Class1 obj = new Class1();
       //     obj.i =10; //Error can’t access private data through object.
            obj.j =10;
      //      obj.k=10;     //Error can’t access protected data through object.
            obj.m=10;
            obj.n=10;
       //     obj.s =10;  //Errror Static data can be accessed by class names only
            Class1.x = 10;  //Error can’t access private data outside class
         //   obj.y = 10; //Errror Static data can be accessed by class names only
            Class1.y = 10;
        }
What if Main is inside another assembly
[STAThread]
        static void Main()
        {
           //Access specifiers comes into picture only when you create object of class outside the class
            Class1 obj = new Class1();
       //     obj.i =10; //Error can’t access private data through object.
            obj.j =10;
      //      obj.k=10;     //Error can’t access protected data through object.
     //     obj.m=10; // Error can’t access internal data outside assembly
    //      obj.n=10; // Error can’t access internal data outside assembly

       //     obj.s =10;  //Errror Static data can be accessed by class names only
            Class1.x = 10;  //Error can’t access private data outside class
         //   obj.y = 10; //Errror Static data can be accessed by class names only
            Class1.y = 10;
        }
In object-oriented software, complexity is managed by using abstraction.

Abstraction is a process that involves identifying the critical behavior of an object and eliminating irrelevant and complex details.

To know more about access specifiers, check this Access Modifiers in C# with Examples

Inheritance:

Inheritance is a process of deriving the new class from already existing class
C# is a complete object oriented programming language. Inheritance is one of the primary concepts of object-oriented programming. It allows you to reuse existing code. Through effective use of inheritance, you can save lot of time in your programming and also reduce errors, which in turn will increase the quality of work and productivity. A simple example to understand inheritance in C#.


Using System;
Public class BaseClass
{
    Public BaseClass ()
    {
        Console.WriteLine ("Base Class Constructor executed");
    }
                                 
    Public void Write ()
    {
        Console.WriteLine ("Write method in Base Class executed");
    }
}
                                 
Public class ChildClass: BaseClass
{
                                 
    Public ChildClass ()
    {
        Console.WriteLine("Child Class Constructor executed");
    }
   
    Public static void Main ()
    {
        ChildClass CC = new ChildClass ();
        CC.Write ();
    }
}

In the Main () method in ChildClass we create an instance of childclass. Then we call the write () method. If you observe the ChildClass does not have a write() method in it. This write () method has been inherited from the parent BaseClass.

The output of the above program is

Output:
  Base Class Constructor executed
  Child Class Constructor executed
  Write method in Base Class executed

this output proves that when we create an instance of a child class, the base class constructor will automatically be called before the child class constructor. So in general Base classes are automatically instantiated before derived classes.

In C# the syntax for specifying BaseClass and ChildClass relationship is shown below. The base class is specified by adding a colon, ":", after the derived class identifier and then specifying the base class name.

Syntax:  class ChildClassName: BaseClass
              {
                   //Body
              }

C# supports single class inheritance only. What this means is, your class can inherit from only one base class at a time. In the code snippet below, class C is trying to inherit from Class A and B at the same time. This is not allowed in C#. This will lead to a compile time 
error: Class 'C' cannot have multiple base classes: 'A' and 'B'.

public class A
{
}
public class B
{
}
public class C : A, B
{
}

In C# Multi-Level inheritance is possible. Code snippet below demonstrates mlti-level inheritance. Class B is derived from Class A. Class C is derived from Class B. So class C, will have access to all members present in both Class A and Class B. As a result of multi-level inheritance Class has access to A_Method(),B_Method() and C_Method().

Note: Classes can inherit from multiple interfaces at the same time. Interview Question: How can you implement multiple inheritance in C#? Ans : Using Interfaces. We will talk about interfaces in our later article.

Using System;
Public class A
{
    Public void A_Method ()
    {
        Console.WriteLine ("Class A Method Called");
    }
}
Public class B: A
{
    Public void B_Method ()
    {
        Console.WriteLine ("Class A Method Called");
    }
}
Public class C: B
{
    Public void C_Method ()
    {
        Console.WriteLine ("Class A Method Called");
    }
                   
    Public static void Main ()
    {
        C C1 = new C ();
        C1.A_Method ();
        C1.B_Method ();
        C1.C_Method ();
    }
}
When you derive a class from a base class, the derived class will inherit all members of the base class except constructors. In the code snippet below class B will inherit both M1 and M2 from Class A, but you cannot access M2 because of the private access modifier. Class members declared with a private access modifier can be accessed only with in the class. We will talk about access modifiers in our later article.

Common Interview Question: Are private class members inherited to the derived class?

Ans: Yes, the private members are also inherited in the derived class but we will not be able to access them. Trying to access a private base class member in the derived class will report a compile time error.

Using System;
Public class A
{
Public void M1 ()
{
}
Private void M2 ()
{
}
}

Public class B: A
{
Public static void Main ()
{
B B1 = new B ();
B1.M1 ();
//Error, Cannot access private member M2
//B1.M2 ();
}
}
Method Hiding and Inheritance We will look at an example of how to hide a method in C#. The Parent class has a write () method which is available to the child class. In the child class I have created a new write () method. So, now if I create an instance of child class and call the write () method, the child class write () method will be called. The child class is hiding the base class write () method. This is called method hiding.

If we want to call the parent class write () method, we would have to type cast the child object to Parent type and then call the write () method as shown in the code snippet below.


Using System;
Public class Parent
{
    Public void Write ()
    {
        Console.WriteLine ("Parent Class write method");
    }
}
 
Public class Child: Parent
{
    Public new void Write ()
    {
        Console.WriteLine ("Child Class write method");
    }
   
    Public static void Main ()
    {
        Child C1 = new Child ();
        C1.Write ();
        //Type caste C1 to be of type Parent and call Write () method
        ((Parent) C1).Write ();
    }
}

To know more about inheritance, check this Inheritance in C# with Examples.

Polymorphism:

When a message can be processed in different ways is called polymorphism. Polymorphism means many forms.
 
Polymorphism is one of the fundamental concepts of OOP.
 
Polymorphism provides following features: 

  • It allows you to invoke methods of derived class through base class reference during runtime.
  • It has the ability for classes to provide different implementations of methods that are called through the same name. 
Polymorphism is of two types:
 
  1. Compile time polymorphism/Overloading
  2. Runtime polymorphism/Overriding
Compile Time Polymorphism
 
Compile time polymorphism is method and operators overloading. It is also called early binding.
 
In method overloading method performs the different task at the different input parameters.
 
Runtime Time Polymorphism
 
Runtime time polymorphism is done using inheritance and virtual functions. Method overriding is called runtime polymorphism. It is also called late binding.
 
When overriding a method, you change the behavior of the method for the derived class.  Overloading a method simply involves having another method with the same prototype.
 
Caution: Don't confused method overloading with method overriding, they are different, unrelated concepts. But they sound similar.
 
Method overloading has nothing to do with inheritance or virtual methods.
 
Following are examples of methods having different overloads:
 
void area(int side);
void area(int l, int b);
void area(float radius);
 
Practical example of Method Overloading (Compile Time Polymorphism)
 
using System;
 
namespace method_overloading
{
    class Program
    {
        public class Print
        {
           
            public void display(string name)
            {
                Console.WriteLine ("Your name is : " + name);
            }
 
            public void display(int age, float marks)
            {
                Console.WriteLine ("Your age is : " + age);
                Console.WriteLine ("Your marks are :" + marks);
            }
        }
       
        static void Main(string[] args)
        {
 
            Print obj = new Print ();
            obj.display ("George");
            obj.display (34, 76.50f);
            Console.ReadLine ();
        }
    }

Note: In the code if you observe display method is called two times. Display method will work according to the number of parameters and type of parameters.

When and why to use method overloading
 
Use method overloading in situation where you want a class to be able to do something, but there is more than one possibility for what information is supplied to the method that carries out the task.
 
You should consider overloading a method when you for some reason need a couple of methods that take different parameters, but conceptually do the same thing.
 
Method overloading showing many forms.
 
using System;
 
namespace method_overloading_polymorphism
{
    Class Program
    {
        Public class Shape
        {
            Public void Area (float r)
            {
                float a = (float)3.14 * r;
                // here we have used function overload with 1 parameter.
                Console.WriteLine ("Area of a circle: {0}",a);
            }
 
            Public void Area(float l, float b)
            {
                float x = (float)l* b;
                // here we have used function overload with 2 parameters.
                Console.WriteLine ("Area of a rectangle: {0}",x);
 
            }
 
            public void Area(float a, float b, float c)
            {
                float s = (float)(a*b*c)/2;
                // here we have used function overload with 3 parameters.
                Console.WriteLine ("Area of a circle: {0}", s);
            }
        }
 
        Static void Main (string[] args)
        {
            Shape ob = new Shape ();
            ob.Area(2.0f);
            ob.Area(20.0f,30.0f);
            ob.Area(2.0f,3.0f,4.0f);
            Console.ReadLine ();
        }
    }
 
Things to keep in mind while method overloading
 
If you use overload for method, there are couple of restrictions that the compiler imposes.
 
The rule is that overloads must be different in their signature, which means the name and the number and type of parameters.
 
There is no limit to how many overload of a method you can have. You simply declare them in a class, just as if they were different methods that happened to have the same name.

Method Overriding:

Whereas Overriding means changing the functionality of a method without changing the signature. We can override a function in base class by creating a similar function in derived class. This is done by using virtual/override keywords.

Base class method has to be marked with virtual keyword and we can override it in derived class using override keyword.

Derived class method will completely overrides base class method i.e. when we refer base class object created by casting derived class object a method in derived class will be called.

Example: 

// Base class
public class BaseClass
{
public virtual void Method1()
{
Console.Write("Base Class Method");
}
}
// Derived class
public class DerivedClass : BaseClass
{
public override void Method1()
{
Console.Write("Derived Class Method");
}
}
// Using base and derived class
public class Sample
{
public void TestMethod()
{
// calling the overriden method
DerivedClass objDC = new DerivedClass();
objDC.Method1();
 // calling the baesd class method
BaseClass objBC = (BaseClass)objDC;
objDC.Method1();
}
}

Output
---------------------

Derived Class Method

Derived Class Method
Constructors and Destructors:

Classes have complicated internal structures, including data and functions, object initialization and cleanup for classes is much more complicated than it is for simple data structures. 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.
  • Constructors and destructors do not have return types nor can they return values.
  • References and pointers cannot be used on constructors and destructors because their addresses cannot be taken.
  • Constructors cannot be declared with the keyword virtual.
  • Constructors and destructors cannot be declared const, or volatile.
  • Unions cannot contain class objects that have constructors or destructors.
Constructors and destructors obey the same access rules as member functions. For example, if you declare a constructor with protected access, only derived classes and friends can use it to create class objects.
The compiler automatically calls constructors when defining class objects and calls destructors when class objects go out of scope. A constructor does not allocate memory for the class object it’s this pointer refers to, but may allocate storage for more objects than its class object refers to. If memory allocation is required for objects, constructors can explicitly call the new operator. During cleanup, a destructor may release objects allocated by the corresponding constructor. To release objects, use the delete operator.

Example of Constructor

class C
{
       private int x;    
       private int y;
       public C (int i, int j)
       {
                 x = i;
                 y = j;
       }
       public void display ()     
       {
               Console.WriteLine(x + "i+" + y);
       }
}

To know more about constructors, check this Constructors in C# with Examples.

Example of Destructor


class D
{
        public D ()
        {
            // constructor
        }         
        ~D ()
        {
           // Destructor
        }
}

To know more about Destructor, check this Destructor in C# with Examples.

If you enjoyed this post, please support the blog below. It's FREE!

Get the latest Asp.net, C#.net, VB.NET, jQuery, Plugins & Code Snippets for FREE by subscribing to our Facebook, Twitter, RSS feed, or by email.

subscribe by rss Subscribe by RSS subscribe by email Subscribe by Email

502 comments :

«Oldest   ‹Older   201 – 400 of 502   Newer›   Newest»
Unknown said...

lovely concepts within 30 minutes i clear my all concepts:)

Anonymous said...

nice

powerful peraiah said...

thankx and it is so uefull to me

powerful peraiah said...

how we can send group sms in .net using c#

Unknown said...

wonderful and lucid explanation

Unknown said...

very nice article...very simple explanation to understand oop concept properly:):)

Ashutosh Dixit said...

Excellent work. All concepts of opps at one place.

I am stuck at one place. When I was doing the practicle for method hiding example then I got the compile time error. The below line doesn't work:

((Parent) C1).Write ();

Even I use the same example mentioned by you:-

using System;

public class Parent
{
public void Write()
{
Console.WriteLine("Base class M1 method");
}
}

public class Child : Parent
{
public new void Write()
{
Console.WriteLine("Child class M1 method");
}
public static void main()
{
Child C1 = new Child();
C1.Write();
((Parent)C1.)Write ();
}
}

Unknown said...

its very useful notes for begginer thanks for that notes i understand all the conceot

Unknown said...

tnx for this it is very much helped me

Rajesh Kaushal said...

This is very nice article for beginners.
Thanx Suresh, Keep it up.

Vani said...

chance illa anna... really this article is very helpful for every student.... tanx a lot

Chandr Gupt said...

thanks

Anonymous said...

nice article

Anonymous said...

thanx for article it useful to understand the concept easily
good

Anonymous said...

Tooo Gud..... Keep it up:-)

Anonymous said...

nice and simple!!!

Anonymous said...

Keep Rocking

Manoj Pilania said...

Class is not the collection on object.

If Class is collection of objects then what is object?
In pure OOP terms an object is an instance of a class
So class can't be collection of objects.

Shekhar said...

Thanks buddy nice explaination.

Hariom said...

It's very useful....very nice

Manju said...

very nice article for beginers.......

Anonymous said...

Excellent..........

Anonymous said...

i have started studying blank in OOPs knowledge,
but after go thorough this valuable concepts
now am comfortable to write program !!!!

ITofficerstudymaterial said...

child c=new base();
or
base d=new child();

out of this which is possible...

Unknown said...

Nice Article of OOPS Good Work Keep it up...

Anonymous said...

Simple and easily understandable...
tripple like dear..

jeevs said...

Excellent,fabulous it is easy and simple to understand.

Anonymous said...

Hi Suresh,
i am impressed with your given artical

Thanks
Uttam
9999890039

Unknown said...

Yes, It really nice artical for OOPs Concept

Anonymous said...

Very nice, able to understand quite well.
Thank you.

Unknown said...

Hats Of 2 U Mr....
I Clear All My Concepts....
Thnk u.....
i Nevr thought ..Ki this is Very eassyy

Fathima said...

Very good article for beginners. Thanks.

bhautik said...

superb :)

Anonymous said...

good examples...

de said...

Good explanation with examples.

Prathap Kumar
.Net Training

Unknown said...

very nice

Anonymous said...

this article is taken from code project

Unknown said...

thk u ......
its easy to understand,,,,,,,v need more.......
i expct lot,,,,,but i cont get,,,,,
thk u

Anonymous said...

Good Job

Anonymous said...

its explained very clearly .
thanks Sir

Maneesh Deepankar said...

Very Nice Article you have posted .. I am reader of
your Article

Anonymous said...

Hi.. This is Gangadhar
I suddenly got this site while searching some concept of OOPS and having read it I got surprised ...
Thank U so much

Anonymous said...

Encapsulation is hiding up the complexities by implementing some functionalities.
example is function which had complex functionality used in a simple manner by hiding its complex logic where ever we needed.

Anonymous said...

its really healpfull for me .....thanks alot sir

Niranjan said...

very nice article and it's very use full for developer and learner...

Thank u very much...

Anonymous said...

thanks

Anonymous said...

Explained very well

Santosh said...

very nice article...

Anonymous said...

Corection on Method Overloading:
Here the signature of the methods includes:Type of the parameter, Number of parameters And Order(in which they appear) of the parameters. Not the name of the parameter.

sivakrishna said...

nice and simple it's use-full to beginners

sivakrishna said...

nice its usefull to beginners

Mukesh Depani said...

Good Work.......Thanks

wasim said...

mind blowing.....suresh..........thanks

Anonymous said...

Hello Dear, are you genuinely visiting this web site
regularly, if so after that you will definitely get pleasant knowledge.


Also visit my blog - Energy saving Kwazulu natal

Unknown said...

very useful n understandable for new comers...
U do good as usual,very Thankful 2 u

Ranjan Kumar Yadav said...

What is difference between Overriding and Method Hiding(Shadowing)?

aparna said...

Very Informative

Unknown said...

so good article

Anonymous said...

Thank u mr Suresh. I always find your artical very helpful this is too... keep it on...

shaikh said...

this is very very nice article for oops concepts

Anonymous said...

good article with good explination

Unknown said...

power of Dotnet. Suresh Rockssss

Thangasamy said...

Its very useful article for beginners too.....
very useful...thank u so much....

Mylsamy said...

It's very useful. Please add few more topics and share with us

Unknown said...

not so good.......Try to improve more

Sajith.. said...

GOod work Suresh.... Simple explaination, strikes direct to the brain...Thank you...!!!

Anonymous said...
This comment has been removed by the author.
Anonymous said...

@Suresh : A class is not a collection of object.
http://msdn.microsoft.com/en-us/library/dd460654.aspx

Anonymous said...

Thanks Suresh

Anonymous said...

Very good explanations and examples.

Anonymous said...

HI suresh very nice

Anonymous said...

Nice Article

Unknown said...

nice work....

Anonymous said...

It is very nice article...
Good work...
It's relay helpfully....
Thanks...

Unknown said...

Sir g......... You Are Great..........

Anonymous said...


Its very nice content at single place for study.

Anonymous said...

good that explanation

Anonymous said...

Good work....

Anonymous said...

very nice. Too many sites are there explaining oops concept. Most of them are more complicated to understand and very high language is used. U have explained it in simple and anybody can understand the concept of oops. Thanks.

Anonymous said...

hello sir

John said...

Great job!

Anonymous said...

Excellent Article

Thanks a lot

Anonymous said...

Nice article with basics..Thank you for the good work...

Anonymous said...

HI,
it's so good work.......
thanks for presenting.

Anonymous said...

Good article.

Anonymous said...

good work

Chinmaya Dash said...

Thank you Very Much for giving those valiable things

Unknown said...

Question--can we implement all of interface methods in diffrent clasess..
example-- INTERFACE A has 3 methods..like x,y,z..can we implent x in A class,y in B class,z in C class.......

Anonymous said...

Really Help full.thnks

Unknown said...

thanks

Pankaj Rajput said...

.Keep up the good work. suresh......expecting more articles for professionals.

LittleSurprise said...

thanx for this blog,its very useful and simple to understand.

LittleSurprise said...
This comment has been removed by the author.
Anonymous said...

Thanks .Keep posting new things

birkin said...

Expert works, thanks a lot.

Anonymous said...

Thank You So Much Mr.Suresh
It is very very useful for my reference.

Prince said...

Prince: Please explain why multiple inheritance is not possible through classes.

Software Developer
Seasia Infotech Pvt ltd

Anonymous said...

Very Useful

Unknown said...

good one......

shashi said...

Nice article and good work..
Please refer Oops Concept Interview Questions

Anonymous said...

It is really very helpful.
Refreshes the basics concepts of OOPS.

Thank you.

Rams said...

thank u sir. i am your fan...

Anonymous said...

It s very useful and easy to understand..Thank you Suresh.......

Anonymous said...

Gud

Subha said...

Nice

Anonymous said...

good article with examples..easy to understand

Anonymous said...

great work mate u rock

Unknown said...

superb man, very helpfull.
Great article...

Unknown said...

prodigious dude........
Akshay

Anonymous said...

Good

Anonymous said...

nice dude

Anonymous said...

Very Nice Sir.......nice explenation

Anonymous said...

Good work.

Anonymous said...

nice artile.. thanku

pketan40 said...

gud work suresh

Anonymous said...

Nice articles Suresh. I am fan of your website,

Thanks Plz Keep in depth details on MVC, WCF and WPF.

Thanks
PBN.

Kishore R said...

Good Article Suresh......Keep doing

cacndyfredric said...

Nice blog... it is good for beginners

Unknown said...

such a good description,thanks.

Alok said...

good job..simple and clear

Azad chouhan said...

Thanks for this article i learn so much from here. I am in learning stage and i also like to write articles but i never read article that explain everything in such a simple way
Thanks Mr Suresh for such a nice thing

Unknown said...

it's very nice Suresh, thank you so much.

Unknown said...

good

Unknown said...

Thanks for the article. It is very useful for a beginner like me..

Unknown said...

poda eruma ungalukku vera velaiye illaya da sunni..........

Unknown said...

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooowwwwww nice ya and super subject

Unknown said...

poda eruma ungalukku vera velaiya illaya da sunni.................

Unknown said...

nice and usefull to understant

Madanika said...

this will help us to gain more knowledge about concepts......

Anonymous said...

thx.... 9965656611

Anonymous said...

Thank u very much for your wonderful job.. It is really very much useful for the beginners.. Keep publishing this type of articles..

Anonymous said...

thanq for clearing ma consequences

Anonymous said...

thanks Good one.

Birendra Pandey

vilangulathur said...

thank sir it's very nice and very useful me

Anonymous said...

tgdbgfb

Anonymous said...

nice--truly helpfull

Unknown said...

Good work
keep it up......

Unknown said...

Thank you .It is very usefull

Anonymous said...

good work ..

Anonymous said...

very nice article but there is not concept about delegate and event

Unknown said...

Simple and sweet

Anonymous said...

Thanks a lot ... keep going...

Anonymous said...

Very good refreshing material. Thanks you.

Anonymous said...

Good Work

Deepali Shahabadi said...

Very helpful and quick for refreshing concepts for interview..

.Net Training in Chennai said...

Good work.

Siva said...

Thanks!!!

I Appreciate!!!

bank of baroda said...

Thanking you sir... u r so great...

Bala said...

thank you sir. it is very useful to interview preparation.

Unknown said...

very useful

Anonymous said...

obj.s =10; //Errror Static data can be accessed by class names only...

Sir S type variable can't be declared ...how can used this....i know this is a little mistake..Good job sir...

Unknown said...

simply superbbb....pls provide sme more defintions,examples also..

Anonymous said...

Awesome.....

Anonymous said...

Easy to Understand.....

Anonymous said...

Suresh Nice article...

Unknown said...

hi suresh. thnks.
keep it up

Anonymous said...

U R The Best

bsuresh said...

easy to understand oops concepts.. nice

Anonymous said...

enjoyed.. good to understand

Anonymous said...

goood... its reallly very useful...

ajay said...

thanks
very good sir !!!!!!!!!!!!!!!!!!

alışveriş siteleri said...

Good... Thx. I need to learn oop c#

Anonymous said...

very nice article, keep up the good work

Anonymous said...

Good work ..
Really help full.........

Unknown said...

add more interview questions....this was very good

Anonymous said...

superb

Unknown said...

Superb Suresh... Thanks alot... its very usefull...

Unknown said...

it is very important and most useful post for engineers, students, trainees, professionals and employees. it provide valuable, easy way and informatics data about each topic of oops. Thanks sir.

Unknown said...

good nd nice article

Anonymous said...

Nice1

Anthony said...

Its very useful and easy to understand...Thanks a lot...

Anonymous said...

nice and cute examples thanku

Anonymous said...

Good Article !!! Thanks

Anonymous said...

SanthaKumari:
Chanceless...no words to tell..........very good article

Anonymous said...

Very useful article

Anonymous said...

Realy, this is very conprehensible.

Anonymous said...

kya baat he. bade kam ki chiz he. lage raho

Unknown said...

Please try sharing the remaining OOPS conceps too. This was good too.

Athimuthu said...

Nice Tutorial

Anonymous said...

Very Useful information

Anonymous said...

NICE & THANKS

Unknown said...

This article is very nice. Go through it, it will help a lot for basic oops features.

Unknown said...

hi sir this is narayana,basically iam from andhra,now iam doing bpo job in gurgaon simultaniously i will try to .net job,actually i did my mca 2010,me site follow avuthuuntanu,,naku konacham help cheyyagalara plz my mobile no 08447663552

Anonymous said...

good work thank you.....

Anonymous said...

Very Nice....

Anonymous said...

good article

Anonymous said...

Detailed description any very easy to understand thank u soo much i need interface concept

Rajesh Kumar Ranjan said...

Suresh ji,
Class is a collection of Object, is not Correct.

karthick said...

Its nice one. Thanks for Posting...

Unknown said...

your web site is really very gud for beginers

Anonymous said...

very nice article...!!!

Unknown said...

thanks

Unknown said...
This comment has been removed by the author.
Unknown said...

very useful article.. good job suresh

mdsam786 said...

good explains

Anonymous said...

very nice article for brush up your concepts....

Ashwin Gami said...

Good work Suresh :)

Gangadhar Rachakonda said...

thanx for article it useful to understand the concept easily

Anonymous said...

Sweet and simple ... thank you very much

Anonymous said...

good work....!!
Mr.suresh g......

«Oldest ‹Older   201 – 400 of 502   Newer› Newest»

Give your Valuable Comments

Note: Only a member of this blog may post a comment.

© 2015 Aspdotnet-Suresh.com. All Rights Reserved.
The content is copyrighted to Suresh Dasari and may not be reproduced on other websites without permission from the owner.