More about Classes Ashima Wadhwa Nested classes Nested
More about Classes Ashima Wadhwa
Nested classes • Nested classes refer to class declarations that occur in other class declarations. • Example. The class B here is enclosed inside the declaration of class A. Class B is thus a nested class. Because it has a public accessibility modifier, it can be accessed in places other than class A's scope.
Example class A { public int _v 1; } public class B { public int _v 2; } class Program { static void Main() { A a = new A(); a. _v 1++; } } A. B ab = new A. B(); ab. _v 2++;
Abstract Class • Abstract classes, marked by the keyword abstract in the class definition, are typically used to define a base class in the hierarchy. • You can't create an instance of them - if you try, you will get a compile error.
Features Abstract classes have the following features: • An abstract class cannot be instantiated. • An abstract class may contain abstract methods. • A non-abstract class derived from an abstract class must include actual implementations of all inherited abstract methods.
Abstract Members • A C# abstract class contains abstract members which define what a subclass should contain. • These abstract members only declare that a member of a particular type is required, it does not implement the member. • Implementation of abstract members takes place within the derived class. • A subclass which derives from an abstract class and fails to implement abstract methods will fail to compile.
Declaring a C# Abstract Class • public abstract class Talk • { • }
Abstract method • public abstract void speak();
Deriving from an Abstract Class • public class Say. Hello : Talk • { • }
Override abstract method public override void speak() { Console. Write. Line("Hello!"); }
Abstract Classes and Abstract Methods in C#. NET The purpose of abstract class is to provide default functionality to its sub classes. When a method is declared as abstract in the base class then every derived class of that class must provide its own definition for that method. An abstract class can also contain methods with complete implementation, besides abstract methods. When a class contains at least one abstract method, then the class must be declared as abstract class. It is mandatory to override abstract method in the derived class. When a class is declared as abstract class, then it is not possible to create an instance for that class. But it can be used as a parameter in a method.
using System; class Hello { public abstract class Talk { public abstract void speak(); } public class Say. Hello : Talk { public override void speak() { Console. Write. Line("Hello!"); } } static void Main() { } Say. Hello hello = new Say. Hello(); hello. speak();
using System; namespace abstract. Sample { //Creating an Abstract Class abstract class abs. Class { //A Non abstract method public int Add. Two. Numbers(int Num 1, int Num 2) { return Num 1 + Num 2; } } //An abstract method, to be //overridden in derived class public abstract int Multiply. Two. Numbers(int Num 1, int Num 2);
// Child Class of abs. Class class abs. Derived: abs. Class { static void Main(string[] args) { //You can create an //instance of the derived class } } } abs. Derived calculate = new abs. Derived(); int added = calculate. Add. Two. Numbers(10, 20); int multiplied = calculate. Multiply. Two. Numbers(10, 20); Console. Write. Line("Added : {0}, Multiplied : {1}", added, multiplied); //using override keyword, //implementing the abstract method //Multiply. Two. Numbers public override int Multiply. Two. Numbers(int Num 1, int Num 2) { return Num 1 * Num 2; }
Queries?
- Slides: 15