Data Abstraction Example in C#

0
Data Abstraction Example in C#:-

To hide the internal functionality of the program is managed by data abstraction, It is used to provide security and accessibility in an application.

How to implement Data Abstraction:-

1)   Using Access Specifier:- 

1.1)  Private:-     We can not call outside of the class

1.2) Protected:-  We can access from base class to derived class in the same project and cross-project

1.3)  Internal:-   We can access from all classes in the same project

1.4) Public:-      We can access public data member and member function outside of the project.

1.5) Protected Internal:-  Combine Features of Protected and Internal both.


Now I am providing a practical example of data abstraction using access-specifier:-

1)  Create a class and define all method with all possible access specifier

class DataabstractionExample
    {
        private void fun1()
        {
            Console.WriteLine("Private");
        }
        internal void fun2()
        {
            Console.WriteLine("Internal");
        }
        protected internal void fun3()
        {
            Console.WriteLine("Protected Internal");
        }
        public void fun4()
        {
            Console.WriteLine("Publ ic");
        }

        protected void fun5()
        {
            Console.WriteLine("Protected");
        }
    }


2)  Create another class in the same project to call these functions, only private and protected not call otherwise all functions will be accessable.

 class DataabstractionExample2
    {
        static void Main()
        {
            DataabstractionExample obj = new DataabstractionExample();
            obj.fun2();
            obj.fun3();
            obj.fun4();
            Console.ReadKey();
        }
    }

3) Now creating another class and inherit from Dataabstractionclass then excluding private method all other methods will be called.


class DataabstractionExample3:DataabstractionExample
    {
        static void Main()
        {
            DataabstractionExample3 obj = new DataabstractionExample3();
            obj.fun2();
            obj.fun3();
            obj.fun4();
            obj.fun5();
            Console.ReadKey();
        }
    }



4)  Now creating another project and add the project reference of the first project to a second project using add reference options and call method then only public access specifier will be called.
When we add reference then right-click on references options ----> Add References--> Browse Project---->  bin ---> debug--> Projectname.exe ----  Click on Add button.


Create the following class:-

using ConsoleApplication4;
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            DataabstractionExample obj = new DataabstractionExample();
            obj.fun4();
            Console.ReadKey();
        }
    }
}



Now again inherit the class than public and protected both will be accessible when we create the object of the child class.

class Program:DataabstractionExample
    {
        static void Main(string[] args)
        {
            Program obj = new Program();
            obj.fun4();
            obj.fun3();
            obj.fun5();
            Console.ReadKey();
        }
    }



2)   Using Abstract class:-

Discuss this concept on the abstract class topic

3)   Using Interface:- 

Discuss this concept on Interface Topic.

Tags

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)