抽象类的抽象方法可以用private修饰吗
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/03 03:45:03
抽象类的抽象方法可以用private修饰吗
C#用多种修饰符来表达类的不同性质.根据其保护级C#的类有五种不同的限制修饰符:
public可以被任意存取;
protected只可以被本类和其继承子类存取;
internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”.
protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取.
private只可以被本类所存取.
如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰.
new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏.
abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化.抽象类可以包含抽象的成员,但这并非必须.abstract不能和new同时用.下面是抽象类用法的伪码:
abstract class A{public abstract void F();}abstract class B: A{public void G() {}}class C: B{public override void F(){//方法F的实现}}抽象类A内含一个抽象方法F(),它不能被实例化.类B继承自类A,其内包含了一个实例方法G(),但并没有实现抽象方法F(),所以仍然必须声明为抽象类.类C继承自类B,实现类抽象方法F(),于是可以进行对象实例化.
sealed用来修饰类为密封类,阻止该类被继承.同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的.
public可以被任意存取;
protected只可以被本类和其继承子类存取;
internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”.
protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取.
private只可以被本类所存取.
如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰.
new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏.
abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化.抽象类可以包含抽象的成员,但这并非必须.abstract不能和new同时用.下面是抽象类用法的伪码:
abstract class A{public abstract void F();}abstract class B: A{public void G() {}}class C: B{public override void F(){//方法F的实现}}抽象类A内含一个抽象方法F(),它不能被实例化.类B继承自类A,其内包含了一个实例方法G(),但并没有实现抽象方法F(),所以仍然必须声明为抽象类.类C继承自类B,实现类抽象方法F(),于是可以进行对象实例化.
sealed用来修饰类为密封类,阻止该类被继承.同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的.
抽象类的抽象方法可以用private修饰吗
同谓语从句修饰抽象的名词,定语从句修饰人和物.请问定语从句可以修饰抽象名词吗?
big可以修饰抽象名词吗
抽象类中的抽象方法可以强制子类必须给出这些方法的具体实现是什么意思
在抽象类中可以有抽象方法和非抽象方法对吗
抽象类中是否都是抽象方法
什么是抽象类和抽象方法?
请问为什么超类要用抽象方法定义成抽象类?可以不用抽象方法而把超类定义成一个普通类吗?
抽象的意思是想象吗?可以用抽象词造句打个比喻吗?
物质名词与抽象名词表示个体是不可直接用a或an修饰,但抽象名词抽象概念变为具体的人或物或使之个体化时就可以用不定冠词修饰
不是说用来修饰抽象名词时常用不定式作定语的吗
为什么抽象方法必须定义在抽象类中