答:
abstract class abstract 声明抽象类抽象方法,一个类中有抽象方法,那么这个类就是抽象类了。所谓的抽象方法,就是不含主体(不提供实现方法),必须由继承者重写。因此,抽象类不可实例化,只能通过继承被子类重写。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public abstract class Bus
{
public abstract void getName(); //抽象方法
public virtual void getTypes() //虚方法
{
Console.WriteLine("bus");
}
public void getID()//一般方法,若在派生类中重写,须使用new关键字
{
Console.WriteLine("沪A 00000");
}
}
public class car : Bus
{
public override void getName() //继承抽象类,重新抽象方法
{
Console.WriteLine("奥迪");
}
public override void getTypes()//继承抽象类,重新虚方法
{
Console.WriteLine("car");
}
}
class Program
{
static void Main(string[] args)
{
car mycar = new car();
mycar.getName();
mycar.getTypes();
mycar.getID();
}
}
}
输出: 奥迪 car 沪A 00000
interface 声明接口,只提供一些方法规约,不提供任何实现;不能用public、abstract等修饰,无字段、常量,无构造函数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public interface IBus
{
void getTypes();
}
public interface IPlane
{
void getfunc();
}
public class Car : IBus,IPlane
{
public void getTypes()
{
Console.WriteLine("car");
}
public void getfunc()
{
Console.WriteLine("fly");
}
}
class Program
{
static void Main(string[] args)
{
Car mycar = new Car ();
mycar.getTypes();
mycar.getfunc();
}
}
}
输出结果: car fly
两者区别
1.interface中不能有字段,而abstract class可以有; 2.interface中不能有public等修饰符,而abstract class 可以有。 3.interface 可以实现多继承
问题内容: 自从90年代末在大学期间使用JBuilder以来,我从未接触过Java,所以我有点脱节-无论如何我本周一直在从事一个小型Java项目,并使用Intellij IDEA作为我的IDE ,以便与我的常规.Net开发有所不同。 我注意到它支持添加接口和@interface,什么是@interface,它与普通接口有何不同? 与 我已经做了一些搜索,但找不到大量有用的有关@interface的
本文向大家介绍interface 和 type 到底有什么区别?相关面试题,主要包含被问及interface 和 type 到底有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 interface 和 type 到底有什么区别? 作者:rottenpen
type 和 interface 都可以定义对象,二者到底有何区别?
本文向大家介绍C#和 .NET有什么区别相关面试题,主要包含被问及C#和 .NET有什么区别时的应答技巧和注意事项,需要的朋友参考一下 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。
本文向大家介绍C#中的IEnumerable和IQueryable有什么区别?,包括了C#中的IEnumerable和IQueryable有什么区别?的使用技巧和注意事项,需要的朋友参考一下 IEnumerable存在于System.Collections命名空间中。 IQueryable存在于系统中。Linq命名空间。 IEnumerable和IQueryable都是正向收集。 IEnumera
问题内容: 当我遇到Joel Spolsky的时候,我正在阅读《更多关于软件的 Joel》,他说了一种有关特定类型的程序员的一些知识,他们知道Java / C#(面向对象编程语言)中an int和an 之间的区别Integer。 那么区别是什么呢? 问题答案: 在Java中, “ int”类型是原始类型,而“ Integer”类型是对象。 在C#中, 类型与值类型相同,并且是值类型(即更像Java