标题: 实例化的问题 [打印本页] 作者: 赵学辉 时间: 2012-7-11 08:06 标题: 实例化的问题 是不是用abstract定义了抽象类的类名可以去实例化任意一个类的对象(没有继承这个抽象类)??
请高手细说一下!!作者: 许庭洲 时间: 2012-7-11 09:16
1,所谓实例化某个类,要么new一个对象,要们反射一个对象实例,这个过程才称为类的实例化;
2,C#明确规定抽象类不可以实例化,但可以包含实例成员;
3,抽象成员不能实例化,必须由继承它的子类(派生类)来重写它的抽象成员。作者: 古古头 时间: 2012-7-11 09:45
不是的,比如下面定义的三个类:
public abstract class Person{}//人类
public class Student : Person{}//学生类
public class HighSchoolStudent : Student{}//高中生类
public class Dog{}//狗类
Person p1 = new Student();//合法
Person p2 = new HighSchoolStudent();//合法
Person p3 = new Dog();//这是不合法的
也就是说只有抽象类的直接或间接子类能作为此抽象类的的实例作者: 。_Smileヾ淡莣 时间: 2012-7-12 23:32
抽象类不能实例化;
实例化是指某个类,使用new一个对象,要们反射一个对象实例,这个过程才称为类的实例化;
如果想对一个抽象类实例化;只能实例化他的子类或者孙子类;需要继承这个类或者实现;