• C# 基础复习 二 面向对象


    继承:子承父业 
    子:子类    父:父类    业:所有非私有成员
    好处:代码的复用
     
    继承后,实例化子类时,不止子类的构造,父类的构造也会执行,而且父类的构造先于子类的构造执行
    即使在子类可以看到父类的成员,但成员依然属于父类,所以在使用父类成员的同时也会实例化父类
     
    如果父类中存在有参构造,在子类中必须给参数
    public Student():base(1){
    
    }

    子类可以重写父类的方法

    方法重写分为:隐藏式重写,强制重写

    隐藏式重写 关键字new

    public new void Show(){//new也可省略
    
    }

    隐藏式重写根据对象的类型决定调用哪个类的方法,如果是父类的对象就调用父类的方法,如果是子类的对象就调用子类的方法

    强制重写 关键字 virtual,abstract,override

    1.virtual 虚方法

    虚方法可以被子类重写,也可以直接调用它本身

    public virtual void Show(){ //父类  
    
    }
    public override void Show(){ //子类
    
    }

    2.abstract 抽象

    抽象类不可以实例化,抽象类中不一定要有抽象方法,但是抽象方法必须在抽象类中

    抽象方法不可以有方法体,因此必须被子类重写才能使用

    抽象类用来表示一种很大的种类,但它本身不存在

    例如:狗,鸟,猫都属于动物,但是 “动物” 本身是不存在的,只是一种抽象的概念,所以无法确定它自身的方法,因此抽象方法不能有方法体

    public abstract void Show();//父类
    
    
    public override void Show(){//子类
    
    }

    interface 接口

    父类只能继承一个,但是接口可以继承多个

    接口只需要规定好方法的形式,不需要实现方法,让继承接口的类来实现

    接口的方法不实现也可以调用,利于分工合作

    interface class
    {
        void fun();
    }
    IO可以操纵文件
    操纵文件需要:
        FileStream 文件流
        StreamWriter 写入器
        StreamReader 读取器
    简单的操作也可以通过File类的静态方法,比较简便
  • 相关阅读:
    VS缓冲区溢出,未对变量进行检查
    Mutex与Event控制互斥事件的使用详解
    error LNK2019: 无法解析的外部符号
    [转] 兼容IE和Firefox的设为首页和收藏的Javascript代码
    [转]超时时间以到,但尚未从池中获取连接
    Datalist的嵌套使用
    由服务器端向客户端输出脚本
    几个国外的XHTML模板站,DIV+CSS模板下载(转)
    gridview隐藏某一列
    [转]简单谈基于SQL SERVER 分页存储过程的演进
  • 原文地址:https://www.cnblogs.com/nicopoiduang/p/8886026.html
Copyright © 2020-2023  润新知