C#继承多态

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

class People
    {
        public string Name { get; set; }
        public int Age { get; set; }
       
 
    }
   
    class Student:People
    {
     }


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

class People
    {
        public string Name { get; set; }
        public int Age { get; set; }
        
 
        public virtual void Eat()
        {
 
        }
    }
    
    class Student:People
    {
        public override void Eat()
        {
            Console.WriteLine("我是学生,我在吃饭");
        }
    }
    
    class Teacher:People
    {
        public override void Eat()
        {
            Console.WriteLine("我是老师,我在吃饭。");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            People people = new Teacher();
            people.Eat();
        }

}


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

    public abstract class PlayBasketball
    {
        
        public abstract void Shoot();
    }


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

相同点

          1. 都不能被直接实例化,都可以通过继承实现其抽象方法。

          2. 都是面向抽象编程的技术基础,实现了诸多的设计模式。

 不同点

          1. 接口支持多继承;抽象类不能实现多继承。

          2. 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。

          3. 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。

          4. 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。

          5. 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含                有实现的方法。

          6. 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。

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

不同点

           方法关键字不一样

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

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

共同点

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

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

abstract


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

加载文件并选出要结点:

        1: XmlDocument doc = new XmlDocument();
        2: doc.Load(@"..\..\Book.xml");
        3: XmlNode root = doc.SelectSingleNode("bookstore");
创建一个结点,并设置结点的属性:

          1: XmlElement xelKey = doc.CreateElement("book");
          2: XmlAttribute xelType = doc.CreateAttribute("Type");
          3: xelType.InnerText = "adfdsf";
          4: xelKey.SetAttributeNode(xelType);
创建子结点:

        1: XmlElement xelAuthor = doc.CreateElement("author");
        2: xelAuthor.InnerText = "dfdsa";
        3: xelKey.AppendChild(xelAuthor);
最后把book结点挂接在要结点上,并保存整个文件:

       1: root.AppendChild(xelKey);
       2: doc.Save(@"..\..\Book.xml");

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

C#追加文件 
         StreamWriter sw = File.AppendText(Server.MapPath(".")+"//myText.txt"); 
         sw.WriteLine("追逐理想"); 
         sw.WriteLine("kzlll"); 
         sw.WriteLine(".NET笔记"); 
         sw.Flush(); 
         sw.Close();

C#拷贝文件 
         string OrignFile,NewFile; 
         OrignFile = Server.MapPath(".")+"//myText.txt"; 
         NewFile = Server.MapPath(".")+"//myTextCopy.txt"; 
         File.Copy(OrignFile,NewFile,true);

C#删除文件 
         string delFile = Server.MapPath(".")+"//myTextCopy.txt"; 
         File.Delete(delFile);

C#移动文件 
         string OrignFile,NewFile; 
         OrignFile = Server.MapPath(".")+"//myText.txt"; 
         NewFile = Server.MapPath(".")+"//myTextCopy.txt"; 
         File.Move(OrignFile,NewFile);

C#创建目录 
         // 创建目录c:/sixAge 
         DirectoryInfo d=Directory.CreateDirectory("c://sixAge"); 
         // d1指向c:/sixAge/sixAge1 
         DirectoryInfo d1=d.CreateSubdirectory("sixAge1"); 
         // d2指向c:/sixAge/sixAge1/sixAge1_1 
         DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1"); 
         // 将当前目录设为c:/sixAge 
         Directory.SetCurrentDirectory("c://sixAge"); 
         // 创建目录c:/sixAge/sixAge2 
         Directory.CreateDirectory("sixAge2"); 
         // 创建目录c:/sixAge/sixAge2/sixAge2_1 
         Directory.CreateDirectory("sixAge2//sixAge2_1");

递归删除文件夹及文件 
         <%@ Page Language=C#%> 
         <%@ Import namespace="System.IO"%> 
         <Script runat=server> 
         public void DeleteFolder(string dir) 
         { 
             if (Directory.Exists(dir)) //如果存在这个文件夹删除之 
             { 
                 foreach(string d in Directory.GetFileSystemEntries(dir)) 
                 { 
                     if(File.Exists(d)) 
                         File.Delete(d); //直接删除其中的文件 
                     else 
                         DeleteFolder(d); //递归删除子文件夹 
                 } 
                 Directory.Delete(dir); //删除已空文件夹 
                 Response.Write(dir+" 文件夹删除成功"); 
             } 
             else 
                 Response.Write(dir+" 该文件夹不存在"); //如果文件夹不存在则提示 
         }

          string Dir="D://gbook//11"; 
          DeleteFolder(Dir); //调用函数删除文件夹 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值