- Hands-On Object:Oriented Programming with C#
- Raihan Taher
- 254字
- 2021-07-02 12:44:43
The abstract class
An abstract class is a special kind of class that comes with the C# programming language. This class has similar functionalities to an interface. For example, an abstract class can have methods without implementation and with implementation. Consequently, when a class implements an abstract class, the class has to override the abstract methods of the abstract class. One of the main characteristics of an abstract class is that it can't be instantiated. An abstract class can only be used for inheritance. It might or might not have abstract methods and assessors. Sealed and abstract modifiers can't be placed in the same class, as they have completely separate meanings.
Let's take a look at an example of an abstract class:
abstract class Animal {
public string name;
public int ageInMonths;
public abstract void Move();
public void Eat(){
Console.WriteLine("Eating");
}
}
class Dog : Animal {
public override void Move() {
Console.WriteLine("Moving");
}
}
In the preceding example, we saw that the Dog class is implementing the Animal class, and as the Animal class has an abstract method called Move(), the Dog class must override it.
If we try to instantiate the abstract class, the compiler will throw an error, as follows:
using System;
namespace AnimalProject {
abstract class Animal {
public string name;
public int ageInMonths;
public abstract void Move();
public void Eat(){
Console.WriteLine("Eating");
}
}
static void Main(){
Animal animal = new Animal(); // Not possible as the Animal class is abstract class
}
}
- 多媒體CAI課件設計與制作導論(第二版)
- Software Defined Networking with OpenFlow
- Android開發精要
- Python從菜鳥到高手(第2版)
- DevOps Automation Cookbook
- MariaDB High Performance
- Hands-On Microservices with Kotlin
- Mastering Apache Spark 2.x(Second Edition)
- Reactive Android Programming
- 前端HTML+CSS修煉之道(視頻同步+直播)
- 青少年信息學競賽
- Python算法詳解
- OpenResty完全開發指南:構建百萬級別并發的Web應用
- UNIX Linux程序設計教程
- DevOps 精要:業務視角