C#继承多态


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

继承所表达的是类之间的相关关系,这种关系使得某类对象可以继承另外一类对象的特征和能力

class Person1 {
public String name="xiaomiao";
public int age=20;
}
class Student extends Person1 {
void study() {
System.out.println("I can study!");
}
}
public class JiCheng {
public static void main(String args[]) {
Student stu = new Student();
//stu.name = "zhangsan";

//stu.age = 20;
System.out.println("name=" + stu.name + ",,," + "age=" + stu.age);
}
}


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

多态按字面的意思就是“ 多种形态”, 指同一操作作用于不同的对象时,可以有不同的解释


public class Student
    {
       public virtual string Show()
        {
            string message = string.Format("大家好!");
            return message;
        }       
    }
public class School : Student
    {
        public override string Show()
        {
            string message = string.Format("大家好!,我是代码");
            return message;
        }

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

在C#中,凡是包含了无法实现的成员的类就是抽象类

abstract class Person{
    
    private String name;
    
    private int age;
    
    public Person(){
        
    }
    
    public String getName(){
        return this.name;
    }
    
    public void setName(String name){
        this.name = name;
    }
    
    
    public int getAge(){
        return this.age;
    }
    
    public void setAge(int age){
        this.age = age;
    }
    
    //抽象方法
    public abstract String getPersonInfo();
}

class Student extends Person{    
    public String getPersonInfo(){
        return "子类Student实现:"+ 
         "姓名:" +this.getName() +" 年龄:"+ this.getAge();
    }
}


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

相同点
* 都不能被直接实例化,都可以通过继承实现其抽象方法。
* 都是面向抽象编程的技术基础,实现了诸多的设计模式。

不同点
* 接口支持多继承;抽象类不能实现多继承。
* 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
* 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
* 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
* 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
* 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。。
* 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。


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

不同点: (1)抽象类的方法关键词是:abstract,虚方法的方法关键字是:virtual。

                       (2)抽象类的方法:只作声明,无方法体/无实现,虚方法的方法:声明并实现方法。

                       (3)包含抽象方法的类不能实例化,而包含虚方法的类可以实例化。

                       (4)抽象方法必须在派生类中重写,虚方法不需要在派生类中重写。

        相同点:     子类/派生类都要重写父类的方法,关键字都是override

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

定义抽象类:abstract

抽象方法:override


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


//初始化一个xml实例
XmlDocument xml=new XmlDocument();
//导入指定xml文件
xml.Load(path);
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));
//指定一个节点
XmlNode root=xml.SelectSingleNode("/root");
//获取节点下所有直接子节点
XmlNodeList childlist=root.ChildNodes;
//判断该节点下是否有子节点
root.HasChildNodes;
//获取同名同级节点集合
XmlNodeList nodelist=xml.SelectNodes("/Root/News");
//生成一个新节点
XmlElement node=xml.CreateElement("News");
//将节点加到指定节点下,作为其子节点
root.AppendChild(node);
//将节点加到指定节点下某个子节点前
root.InsertBefore(node,root.ChildeNodes[i]);
//为指定节点的新建属性并赋值
node.SetAttribute("id","11111");
//为指定节点添加子节点
root.AppendChild(node);
//删除节点
XmlElement xe=(XmlElement)xnl.Item(i); 
root.RemoveChild(xe);
//获取指定节点的指定属性值
string id=node.Attributes["id"].Value;
//获取指定节点中的文本
string content=node.InnerText;
//保存XML文件
string path=Server.MapPath("~/file/bookstore.xml");
xml.Save(path);


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

File.Exists("C:\\Text.txt");

File.Copy("C:\\Text.txt","D:\\Text.txt");
File.Delete("C:\\Text.txt");
File.Move("C:\\Text.txt","D:\\Text.txt");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值