01:什么是继承?代码举例答
答:继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。
public class em{
public string ID{get;set}
public int Age{get;set}
}
public class ss:em{
public ss(string id,int age yearof)
this.id=id;
this.age = age;
this.yearof = yearof;
}
public int yearof{age;set;}
02:什么是多态?代码举例说明
答:多态就是“多种形态”,指同一操作用于不同的对象时,可以有不同的解释,产生不同的执行结果
允许多个方法的方法名相同,只要它们的方法签名不同就可以;
public virtual string Sauhi(){
string message = string.Format("大家好!");
return message;
}
public override string Sayhi(){
string message = string.Format("大家好,我是{0},今年{1}岁",base.Name,base.age)
return message;
}
03:什么是抽象类?代码举例
abstract class dame
{
abstract public int area();
}
答:
04:抽象类和接口的相同点和不同点?
相同点:
1.抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;
2.继承抽象类和实现接口都要对其中的抽象方法全部实现;
不同点:
1.接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法,
而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)
2.抽象类中的方法可以是private,protected,public,接口全部都是public
3.抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量(final)
4.有抽象方法的类必须声明为抽象类,而抽象方法未必要有抽象方法
05:抽象方法和虚方法的不同点和相同点?
抽象方法
使用abstract关键字 public abstract bool Withdraw(…);
抽象方法是必须被派生类覆写的方法。
抽象方法是可以看成是没有实现体的虚方法
如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其它一般方法
虚方法
使用virtual关键字 public virtual bool Withdraw(…);
调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。
虚方法可以有实现体 若一个实例方法的声明中含有 virtual 修饰符,则称该方法为虚拟方法;
一个虚拟方法的实现可以由派生类取代。取代所继承的虚拟方法的实现的过程称为重写该方法;
在一个虚拟方法调用中,该调用所涉及的那个实例的运行时类型确定了要被调用的究竟是该方法的哪一个实现。
06:定义抽象类和抽象方法的关键字?
答:
抽象类:
抽象类使用abstract修饰符,并且它只能是用作基类。
抽象类不能实例化,当使用new运算
抽象方法:
抽象方法是隐式的虚方法,抽象方法只能在抽象类中声明。
抽象方法不能使用private、static和virtual修饰符。(抽象的方法默认是一个virtual方法)
抽象方法不能在派生类用base关键字进行访问。
抽象方法声明不提供实际的实现,没有方法体。
若要实现抽象方法,需要在派生类(非抽象类)中进行重写该抽象方法,
继承类只有实现过所有抽象类的抽象方法后才能被实例化。
07:书本上XML那一章中有哪些方法?代码一一举例
XmlDocument xml = new XmlDocument();
//读取整个xml的结构
xml.Load(“E://Engineer.xml”);
//获取根节点
XmlNode xmlNode = xml.DocumentElement;
//读取所有子节点
foreach (XmlNode item in xmlNode.ChildNodes)
{
string name = item[“name”].InnerText;//获取指定节点的值
}
08:书本上文件那一章中有哪些方法?代码一一举例
复制
public void Fz(string a,string a1){
File.Copy(a,a1)
}
删除
public void Sc(string a){
File.Delete(a)
}
移动
public void Yd(string a,string a1){
File.Move(a,a1)
}