1. 抽象和虚拟有什么不同
抽象的方法不能用,但虚的方法可以使用.
类似于,
抽象: 父亲说:这个我没实现,死不瞑目,你一定要实现我的愿望.
虚: 父亲说:这个我做的已经可以了,你要继续发扬"广大".
2. 虚方法和抽象方法的区别是什么
用我自己的话说
抽象方法用abstract修饰
不允许有方法体
必须被子类override
只能在抽象类中
虚方法用virtual修饰
要有方法体,哪怕是一个分号
可以被子类override
除了密封类外都可以写
3. 虚方法和抽象方法的区别
抽象定义、没实际体函数能抽象函数现并且类必须重写;虚则自函数体已经提供函数实现允许类重写或覆盖
重写类虚函数覆盖
4. 在.net中抽象方法和虚方法的区别接口也说一下!
1)抽象方法:方法必须被子类实现。2)虚方法:方法可以由子类继承或者重写。接口:所有方法都是“抽象方法”(可以把接口理解成“只有抽象方法”的抽象类)。而一般抽象类可以有抽象方法,也可以有一般类的普通方法允许子类继承。
5. c#中抽象类和虚类的区别
虚方法的关键字是virtual
抽象方法的关键字是abstract
虚方法和抽象方法的区别:
虚方法:可以在抽象类和非抽象类中定义,可以写在父类中,在子类中可以被重写,在定义虚方法时必须实现虚方法(在定义虚方法时需要写实现方法的代码或者至少要写一个分号)
抽象方法:必须定义在抽象类中,必须写在父类中,在子类中必须被重写,在定义抽象方法时不能实现方法(在定义抽象方法时不能有大括号和代码)
例如:
人:
普通人:输出姓名(输出信息要写在人的类中)
学生:输出姓名、学号、年龄、爱好等
家长:输出姓名、联系电话
教师:输出姓名、所授课程
注:如果我们实现的这个功能它的一部分功能(输出)要写在父类中,而且在不同的子类中需要重写,那么在父类中的方法必须定义为虚方法,否则,如果在父类中只需要指定有什么功能,但不需要实现,这个时候我们就把父类中的方法定义为抽象方法
6. c# 中抽象方法与虚方法的区别
抽象方法是只能在抽象类中声明,且只有定义、没有实际方法体的函数,必须在子类中重写;
虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。