普通类,抽象类,两者的区别,
作者:互联网
一.class普通类
1.类的定义:
类的访问修饰符 修饰符 类名
{
类的成员
}
在 C# 语言中创建的任何项目都有类的存在,通过类能很好地体现面向对象语言中封装、继承、多态的特性。
- 类的访问修饰符:用于设定对类的访问限制,包括 public、internal 或者不写,用 internal 或者不写时代表只能在当前项目中访问类;public 则代表可以在任何项目中访问类。
- 修饰符:修饰符是对类本身特点的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修饰符的类不能被实例化;sealed 修饰的类是密封类,不能 被继承;static 修饰的类是静态类,不能被实例化。
- 类名:类名用于描述类的功能,因此在定义类名时最好是具有实际意义,这样方便用户理解类中描述的内容。在同一个命名空间下类名必须是唯一的。
- 类的成员:在类中能定义的元素,主要包括字段、属性、方法。
二.抽象类或方法
- abstract 关键字代表的是抽象的,使用该关键字能修饰类和方法,修饰的方法被称为抽象方法、修饰的类被称为抽象类。
- abstract 关键字只能用于普通方法,不能用于 static(静态) 方法或者构造方法中。
1.抽象方法的定义
访问修饰符 abstract 方法返回值类型 方法名(参数列表);
2.抽象方法的 3 个特征:
- 抽象方法只有声明没有实现(没有方法体)
- 抽象方法必须存在于抽象类中
- 子类重写父类时,必须重写父类所有的抽象方法
注意:抽象方法不能使用 private 修饰,因为抽象方法必须被子类重写,而如果使用了 private 声明,则子类是无法重写的。
1.抽象类的定义:
访问修饰符 abstract class 类名
{
//类成员
}
2.抽象类使用规则:
- 抽象类和抽象方法都要使用 abstract 关键字声明。
- 如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
- 抽象类不能实例化,也就是不能使用 new 关键字创建对象。
三.抽象类与普通类区别
1.关键字:抽象类声明时需要abstract 关键字来定义 ,而普通类则可以是public private等。
2.方法:抽象类里的抽象方法里不能有方法的主体,只能是抽象方法的声明,而普通类里的方法里可以有主体。
3.实例化:抽象类是不能被实例化的,也就是不能用new调用构造函数创建对象,而普通类可以通过new关键字进行实例化。
4.访问权限:抽象类的访问权限限于public和protected,因为抽象类方法是需要继承之后让子类去实现的,private修饰的方法不能被重写,抽象方法的目的就是为了继承以后再子类里重写。而普通类的访问权限没有限制,都可以修饰。
5.继承:抽象类被继承时,子类必须实现它的所有方法,如果子类没有实现父类的抽象方法,则必须将子类也定义成抽象类。而普通类被继承时,不需要实现它的所有方法。
标签:两者,区别,子类,abstract,修饰符,抽象,抽象类,方法 来源: https://www.cnblogs.com/WhiteGardenia/p/15630567.html