C#基础03 继承,多态,XML操作与IO流

01:什么是继承?代码举例说明

继承要符合 is a 关系,卡车继承汽车,卡车 is a同一 汽车。

子类通过:继承父类

/// <summary>
    /// 汽车类
    /// </summary>
    class Car
    {
    }

/// <summary>
    /// 卡车类
    /// </summary>
    public class Truck:Car
    {  
    }


02:什么是多态?代码举例说明

多态:同一操作作用于不同的对象时,可以有不同的解释,产生不同的执行结果。通俗讲即是"多种形态"。

可以通过虚方法,抽象方法实现多态,如下代码,汽车类抽象方法Run(),卡车类通过override重写Run()方法,实现多态。

/// <summary>
    /// 汽车类
    /// </summary>
    public abstract class Car
    {
        public abstract void Run();
    }


 /// <summary>
    /// 卡车类
    /// </summary>
    public class Truck : Car
    {
        public override void Run()
        {
            throw new NotImplementedException();
        }
    }


03:什么是抽象类?代码举例说明

抽象类:一个宏观,抽象的概念,用abstract修饰的类

/// <summary>
    /// 汽车类
    /// </summary>
    public abstract class Car
    {
        public abstract void Run();
    }


04:抽象类和接口的相同点和不同点?

继承是一个 "是不是"的关系,而 接口 实现则是 "有没有"的关系

相同点:

1.抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;

2.继承抽象类和实现接口都要对其中的抽象方法全部实现;

不同点:

1.接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法,

而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)

2.抽象类中的方法可以是private,protected,public,接口全部都是public

3.抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量(final)

4.有抽象方法的类必须声明为抽象类,而抽象方法未必要有抽象方法
 

05:抽象方法和虚方法的不同点和相同点?

不同点

1、方法关键字不一样

虚方法的方法关键字是:virtual。

抽象类的方法关键词是:abstract

2、基类的方法是否有方法体/实现

虚方法的方法:声明并实现方法。

抽象类的方法:只作声明,无方法体/无实现。

相同点

1、子类/派生类都要重写父类的方法:关键字override。

06:定义抽象类和抽象方法的关键字?

abstract


07:书本上XML那一章中有哪些方法?代码一一举例

Load()读取方法

public class XMLHelper
    {
        public void Read(string path) {
            //创建XML对象
            XmlDocument doc=new XmlDocument();
            //读取Xml文档
            doc.Load(path);
            //读取根节点
            XmlNode engineer = doc.DocumentElement;
            //循环遍历子节点
            foreach (XmlNode node in engineer.ChildNodes)
            {

            }
        }
    }


08:书本上文件那一章中有哪些方法?代码一一举例

bool  Exists(string path)//检查文件是否存在

public void isExists(string path) {
            if (File.Exists(path))
            {
                Console.WriteLine("该文件存在");
            }
        }

void Copy(string 源文件路径,string 目标文件路径) //复制

        public void Copy(string oldPath,string newPath) {
            File.Copy(oldPath,newPath);
        }

void Move(string 源文件路径,string 目标文件路径) //移动

 
 

 

public void Move(string oldPath,string newPath) {
            File.Move(oldPath,newPath);
        }
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

void Delete(string path)//删除

public void Del(string path) {
            File.Delete(path);
        }

 GetDirectories();//返回目录

GetFiles();//返回文件

   public void GetDirectory(string path) {
            DirectoryInfo dir = new DirectoryInfo(path);
            //得到当前目录的子目录
            DirectoryInfo[] directories= dir.GetDirectories();
            //返回当前目录文件列表
            FileInfo[] files = dir.GetFiles();
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值