01:什么是继承?代码举例说明
//父类
public class Person{
public string Name;
public int Age;
//构造函数进行初始化
public Person(string name,string Age){
this.Name=name;
this.Age=age;
Console.Writeline(name);
Console.Writeline(Age);
}
}
//子类
public class Student:Person
{
private int _id;
//调用Person构造函数
public Student(string name,int age,int _id):base(name,age)
{
this._ID=_id;
Console.WriteLine(_id);
}
}
//测试类
static void Main(string[] args)
{
Student objStu = new Student("Tom", 20, 1001);
}
}
02:什么是多态?代码举例说明
class Program
{
static void Main(string[] args)
{
Console.WriteLine("老总讲话:大家请肃静,现在刚好08:00整,我们开始开会,请各个部门领 导发言:");
//定义存放Company类型的实力
Company[] CArray = new Company[3];
CArray[0] = new Manager();
CArray[0].Say("张经理:");
CArray[0].Foo();
CArray[1] = new Coder();
CArray[1].Say("李程序员:");
CArray[1].Foo();
CArray[2] = new Accountant();
CArray[2].Say("钱会计:");
CArray[2].Foo();
Console.ReadKey();
}
}
// 定义个公司类
class Company
{
string Name = "";
public virtual void Say(string name)
{
this.Name = name;
}
public virtual void Foo()
{
Console.WriteLine(Name+" 公司条例规定,不同岗位的工作人员,干好本职工作!");
}
}
//定义个经理类
class Manager:Company
{
string Name = "";
public override void Say(string name)
{
//base.Say(name);
this.Name = name;
}
public override void Foo()
{
Console.WriteLine(Name+" 开早会,给大家分配工作");
}
}
//定义程序员类
class Coder:Company
{
string Name = "";
public override void Say(string name)
{
//base.Say(name);
this.Name = name;
}
public override void Foo()
{
Console.WriteLine(Name+" 根据经理早会的内容,我开始编写代码了");
}
}
//定义财会类
class Accountant:Company
{
string Name = "";
public override void Say(string name)
{
//base.Say(name);
this.Name = name;
}
public override void Foo()
{
Console.WriteLine(Name+" 今天早会提到员工工资的事情了。而今天刚好是开工资的日子,我必须抓紧发工资,让员工好好干活!");
}
}
}
03:什么是抽象类?代码举例说明
public abstract class Person
{
public abstract void SayHello();
public void about()
{
Console.WriteLine("Abstract Demo");
}
}
public class Student : Person
{
public override void SayHello()
{
Console.WriteLine("SayHello");
}
}
class MainClass
{
public static void Main()
{
new Student().SayHello();
}
}
04:抽象类和接口的相同点和不同点?
相同点:(1)都可以被继承(2)都不能被实例化(3)都可以包含方法声明(4)派生类必须实现未实现的方法;
不同点:(1)抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
(2)抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范
(3)接口可以被多重实现,抽象类只能被单一继承
05:抽象方法和虚方法的不同点和相同点?
不同点:方法关键字不一样:虚方法virtual,抽象方法:abstract
是否有方法体/实现:虚方法声明并实现方法,抽象方法只作声明,无方法体/实现
相同点:子类/派生类都要重写父类方法:关键字override
06:定义抽象类和抽象方法的关键字?
抽象类:abstract ;抽象方法:abstract
07:书本上XML那一章中有哪些方法?代码一一举例
书本第八章的Load()方法
Load:
public void Show(string path)
{
XmlDocument xml = new XmlDocument();
xml.Load(path);
XmlNode x = xml.DocumentElement;
foreach (XmlNode item in x)
{
Console.WriteLine(item.Name);
}
}
08:书本上文件那一章中有哪些方法?代码一一举例
//复制Copy
public void Copy(string oldpath,string newpath) {
File.Copy(oldpath,newpath);
}
//删除Delete
public void Delete(string path) {
File.Delete(path);
}
//移动Move
public void Move(string oldpath, string newpath) {
File.Move(oldpath, newpath);
}
//文件是否存在Exists
public bool Show(string path)
{
if (File.Exists(path))
{
return true;
}
return false;
}