Latest Post on Blogers Hub

In this post will explain differences between Abstract classes and Interfaces

An Abstract class without any implementation just looks like an Interface; however, there are a lot of differences than similarities between an Abstract class and an Interface. Let's explain both concepts and compare their similarities and differences.

What is an Abstract Class?

An abstract class is a special kind of class that cannot be instantiated. So the question is why we need a class that cannot be instantiated? An abstract class is only to be sub-classed (inherited from). In other words, it only allows other classes to inherit from it but cannot be instantiated. The advantage is that it enforces certain hierarchies for all the subclasses. In simple words, it is a kind of contract that forces all the subclasses to carry on the same hierarchies or standards.

What is an Interface? 

An interface is not a class. It is an entity that is defined by the word Interface. An interface has no implementation; it only has the signature or in other words, just the definition of the methods without the body. As one of the similarities to Abstract class, it is a contract that is used to define hierarchies for all subclasses or it defines the specific set of methods and their arguments. The main difference between them is that a class can implement more than one interface but can only inherit from one abstract class. Since C# doesn't support multiple inheritances, interfaces are used to implement multiple inheritances.

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 

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 the real world, you will often find many individual objects all of the same kind. As an example, there may be thousands of other cars in existence, all of the same make and model. Each car has built from the same blueprint. In object-oriented terms, we say that the car is an instance of the class of objects known as the car. 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.


Here I will explain about uses of 3-Tier architecture and how to create or implement 3-tier architecture for our project in 


1.    What is the use of 3-tier architecture and why we go for that architecture? 

2.    First we need to know what 3-Tier architecture is. 

3.    How to create 3-Tier architecture for our project?

Uses of 3-Tier Architecture

1.    To make application more understandable. 

2.    Easy to maintain, easy to modify application and we can maintain good look of architecture.

3.    If we use this 3-Tier application we can maintain our application in consistency manner.   

Basically 3-Tier architecture contains 3 layers

1.    Application Layer or Presentation Layer 

2.    Business Access Layer(BALor Business Logic Layer(BLL

3.    Data Access Layer(DAL)

Here I will explain each layer with simple example that is User Registration


Latest on posts

Blog Archive