Showing posts with label Object-Oriented-Programming. Show all posts
Showing posts with label Object-Oriented-Programming. Show all posts
Sunday, March 21, 2010

C#-Constructors,Static Constructors and Destructors Execution in Inheritance

While taking interview for .NET Technologies i often ask about the execution sequence of the constructor and destructor in inheritance But from the my experience i have found that lots of people are still confused with execution sequence of constructor and destructors. Lets create a simple example and learn some basic things that is very important while using inheritance in C#.

  • Constructors will be executed in from parent to child sequence means first parent class constructor will be executed then after that child class constructor will be executed.
  • Destructors execution order is reverse then constructors first it will execute child class destructor and then it will execute the parent class destructor.
  • Static constructors are different then the normal constructors and its executes when first object of class is created it will be executed. Most of people are very confused this kind of scenario in inheritance. Here scenario will be like when the first object of child class created then it will execute the child class static constructor and then after the parent class static constructor is executed. After that it will never got executed.

Lets create a simple class which will illustrate the above worlds. First lets create a class A with constructor,destructor and a static constructor.

public class A
{
static A()
{
System.Console.WriteLine("A Static Constructor");
}
public A()
{
System.Console.WriteLine("A public constructor");
}

~A()
{
System.Console.WriteLine("A Destructor");
}
}
Now we will inherit this class with the another class B which is also having constructor,destructor and a static constructor.
public class B : A
{
static B()
{
System.Console.WriteLine("B Static Constructor");
}
public B()
{
System.Console.WriteLine("B public constructor");
}

~B()
{
System.Console.WriteLine("B Destructor");
}
}
Now lets create two objects of Class B in main function of our console application to see how constructors works and after that we will destroy the object via assigning null values and then forcefully we will do Garbage Collection via GC.Collect() to see how destructors works below is the code for that.
 class Program
{
static void Main(string[] args)
{
B b1 = new B();
B b2 = new B();
//code return to destroy object of a class
b1=b2 = null;
GC.Collect();
Console.ReadLine();

}
}
After running the console application output will be as follows.

Construcotr-Destructor in Ineritance,C#

As you can see static constructors are only executed when the first object of a class is created and Constructors are executed like parent to child way and in reverse destructors are executed from child to parent way. Hope this will help you understand execution sequence of constructor in inheritance.

Shout it
kick it on DotNetKicks.com
Share:
Thursday, May 28, 2009

Authentication and authorization in asp.net

Authentication is the process that determines the identity of a user after a user has been authenticated, a developer can determine if the identified use has authorization to proceed.

Authorization is the process of determining whether an authenticated user is permitted access to other any part of application or access to specific data view that application provides.

There are three types of authentication method is provided by the asp.net users.

  1. Windows Authentication –Basic, Digest .
  2. Forms Authentication.
  3. Passport and integrated authentication.

Windows Authentication:

Windows authentication is used together with IIS authentication. When IIs Authentication is complete,ASP.NET uses the authenticated identity to authorize access. This is default settings.

Forms Authentication:

In forms authentication request that are no authenticated are redirect to an html form using HTTP client side redirection. The user provides his login information and submits the form. If application the request, the system issues a form that contains credentials or a key or a identity

Passport Authentication:

It is a centralized authentication service provided by Microsoft that offers single login and core profile services for member sites. This mode of authentication was de-emphasized by Microsoft at the end of 2004 year.

How to set authentication in web.config:

You can set the authentication mode in web.config as follows.

<Authentication Mode=”WindowsFormsPassportNone”></Authentication>

Share:
Thursday, January 15, 2009

Member of class - Object Oriented Programming


Definitions Of Object:
An object is combination and collection of data and code designed to emulate a physical abstract enmity.You can create number object of class. The properties, Variable and Methods define in class are called Members of class.

  1. Private Member Of Class: Private member of a class have strict access control Only the member function of same class can access this members.
  2. Protected Member of Class: A Protected member is accessible to member of its own calls and to any of the class member in a derived class.
  3. Public Member Of Class: A public member of class can be accessible from any where.
  4. Public and Private Static Member Of a Class: The static member of a class can be access without creating a object of class. While to access other member of class you have to create a object of class. The public static member can be accessed using access specifier while private static member can be accessed only the member functions.
Inheritance and Member Accessibility:
  1. A private member is accessible only to members of the class in which private member is declared. They cannot be inherited
  2. A private member of the base class can be accessed in the derived class through the member of the base class.
  3. A protected member is accessible by member of its own class and to any of the class member in a derived class.
Share:

Diffrent Type Of Inheritance- Object Oriented Programing

Following are different type of inheritance..
1) Single Inheritance:
Derivation of class from only one base class is called single inheritance.
2) Multiple Inheritance:
Derivation of class from several base class is called multiple inheritance.
3) Hierarchical Inheritance:
Derivation of several classes from a single class is called hierarchical inheritance.
4) Multilevel Inheritance:
Derivation of a class from another derived class is called multiple inheritance.
5) Hybrid Inheritance:
Derivation of a class involving more then one form of inheritance is called hybrid class.
6) Multi path Inheritance:
Derivation of a class from another derived classes which are derived from the same base class is called multi path inheritance.


Share:
Wednesday, January 14, 2009

Basic Concept Of Object Oriented Programming

Following are the basic concepts of object oriented programming.
1) Objects:
Object are the basic run time entities in the object oriented system. They may represent a person, a palace, a bank account, a table data or anything that a program can handle.
2) Classes:
A class encloses both the data and function that operate on the data into a single unit.
3) Data abstraction and Encapsulation:
The wrapping of data and function in a single unit is know as encapsulation. It is a mechanism that associate into the single unit and keeps them safe from external interference and misuse.
Abstraction refers to the act of representing essential features without including the background details or explanations.
4) Inheritance:
Inheritance is the process by which objects of one class acquire the properties of objects of another class.
5) Polymorphism:
Polymorphism means ability to take more then one form. For example as operation may execute different behaviour in different conditions. The behaviour depends on type of data used in operations.
6) Dynamic Binding:
Binding refers to the linking of a procedure call to be executed in response to the call. Dynamic binding means that the code associated with a given procedure call is not know until the time of call at run time. Virtual functions are the best examples of dynamic binding.
7) Message Communications:
An object oriented program consists of a set of objects that communicate with each other. Object
communicate with one another by sending data receiving information much same way as people passes messages to one another. A message for an object is a request for the execution of a procedure and therefore will invoke function in the receiving object that generates desire results.
8) Extensibility:
It is a feature which allows the extension of the functionality of the existing software components.
9) Delegation:
It is a alternative to the class inheritance. Delegation is a way of making object composition as powerful as inheritance. In delegation two objects are invoked in handling a request, receiving object delegates operation to its delegate. This is analogues to the child class sending a request to the parent class.
10) Generaticity:
It is a technique for defining software components that have more then one interpretation depending on the typoe of parameters.
Share:

Object Oriented Interview Question Part 1- Benefits Of Inheritance

Following are the benefits of the inheritance...
  1. Through inheritance we can eliminate the redundant code and extend the user of the existing classes.
  2. We can build program from the standard working modules that can communicate with the one another rather then having start writing code from beginning.
  3. It is possible to have multiple instances of objects of class without any interface.
  4. It is easy to partion the work.
  5. Object oriented system can be easily upgraded from the small to the large systems.
  6. Easily modifying and extending implementations of components without having to recode everything from scratch.
Share:
Search This Blog
About Me
My Photo

Full Stack Developer, Blogger, Microsoft Mvp, Mentor, Lifelong learner, 12+ Years of Experience for JavaScript, web and Microsoft technologies. ASP.NET MVC/Core, C#, Angular,Vue.js and node.js
Subscribe to my blog

  

My You tube channel- Please Subscribe
Youtube Video Playlist
My Mvp Profile
Follow us on facebook
Blog Archive
Total Pageviews