Difference between Structure (Struct) and Class

Difference between Struct and Class

·         Struct are Value type and are stored on stack, while Class are Reference type and are stored on heap.
·         Struct “do not support” inheritance, while class supports inheritance. However struct can implements interface.
·         Struct should be used when you want to use a small data structure, while Class is better choice for complex data structure.
Labels :  
SessionState ViewState Encapsulation , Abstraction


1)      Classes are reference types and structs are value types.
Since classes are reference type, a class variable can be assigned null.But we cannot  assign null to a struct variable, since structs are value type.
2)      When you instantiate a class, it will be allocated on the heap.When you instantiate a struct, it gets created on the stack.
3)      You will always be dealing with reference to an object ( instance ) of a class. But you will not be dealing with references to an instance of a struct ( but dealing directly with them ).
4)      When passing a class to a method, it is passed by reference. When passing a struct to a method, it’s passed by value instead of as a reference.
5)      Classes can have explicit parameterless constructors. But structs cannot have
6)      Classes must be instantiated using the new operator. But structs can be
7)      Classes support inheritance.But there is no inheritance for structs.
( structs don’t support inheritance polymorphism )
                         classes are used for complex and large set data. structs are simple to use.
                 8)    Structure couldn't have a destructor such as class
                 9)    By default,the members of structures are public while that for class is private


class MyClass
    {
        int myVar = 10; // no syntax error.
        public void MyFun()
        {
            // statements
        }
    }
    struct MyStruct
    {
        int myVar = 10; // syntax error.
        public void MyFun()
        {
            // statements
        }
 }


0 Responses to “Difference between Structure (Struct) and Class”

Post a Comment

Labels

Topics