一:什么是继承?代码举例说明
子类传承父类的公有属性和方法或者构造函数 就是继承,可以通过 子类:父类 这种形式达到继承 关键字 : 最为重要
public class A
{
//被public修饰的属性方法,构造函数
}
B类继承A类通过关键字 ( : )
public class B:A
{
//继承可以拿到父类被public修饰的属性方法,构造函数。
}
二:什么是多态?代码举例说明
多态按照字面意思就是“多种形态”,指同一操作作用于不同的对象时,可以有不同的解释,产生不同的执行结果。
public abstract class Human //人类
{
//奔跑的方法
public abstract void Run();
}
public class Student : Human //学生类继承人类
{
//学生类通过重写的方式重写了人类的奔跑方法变得不一样了
public override void Run()
{
Console.WriteLine("快要迟到了,在跑向学校!");
}
}
或者换一种说法,鸟类有飞行的方法 但是鸵鸟属于鸟类但是不能飞,这个时候我们可以通过重写(override)的方式达到多态,重写成鸵鸟不能飞。
三:什么是抽象类?代码举例说明
抽象类:一个宏观,抽象的概念,用abstract修饰的类
public abstract class Human
{
public abstract void Run();
}
四:抽象类和接口的不同点和相同点?
不同点:
1.接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法,
而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)
2.抽象类中的方法可以是private,protected,public,接口全部都是public
3.抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量(final)
4.有抽象方法的类必须声明为抽象类,而抽象方法未必要有抽象方法
相同点:
1.抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;
2.继承抽象类和实现接口都要对其中的抽象方法全部实现;
五:抽象方法和虚方法的不同点和相同点?
不同点
1、方法关键字不一样
虚方法的方法关键字是:virtual。
抽象类的方法关键词是:abstract
2、基类的方法是否有方法体/实现
虚方法的方法:声明并实现方法。
抽象类的方法:只作声明,无方法体/无实现。
相同点
1、子类/派生类都要重写父类的方法:关键字override。
六:定义抽象类和抽象方法的关键字?
可以通过abstract关键字来定义抽象类和抽象方法。
七:书本上XML章中有哪些方法?代码一一举例
Load读取方法
需要传入一个参数(地址)
public void Reader(string path) {
//创建XML对象
XmlDocument doc=new XmlDocument();
//读取Xml文档
doc.Load(path);
//读取根节点
XmlNode engineer = doc.DocumentElement;
//循环遍历子节点
foreach (XmlNode node in engineer.ChildNodes)
{
//代码块
}
}
八:书本上文件那一章中有哪些方法?代码一一举例
Exists(string path) 用于检查文件是否存在,他是一个bool类型的方法!
需要传入一个地址(path)
public void isExists(string path) {
if (File.Exists(path))//←此处重点
{
Console.WriteLine("该文件存在");
}
}
Copy(string oldPath,string newPath) 用于复制文件,首先我们需要有源地址作为第一个参数,和新地址作为第二个参数,方法体里通过File.Copy()方法传入两个参数,就可以把源地址的文件复制到新地址了。
public void Copy(string oldPath,string newPath) {
File.Copy(oldPath,newPath);
}
Move(string oldPath,string newPath) 用于移动文件道理和上面复制一致 ,不过方法体里是通过File.Move()方法传入两个参数。
public void Move(string oldPath,string newPath) {
File.Move(oldPath,newPath);
}
Delete(string path) 用于删除指定路径的文件,用法就是传入地址作为参数,然后在方法体中使用File.Delete(path)即可。
public void Del(string path) {
File.Delete(path);
}