• 访问修饰符_封装、继承、多态


    一:访问修饰符

    pubulc:公共的,只要引用了命名空间,就可以随意进行访问
    private:私有的,只有当前类内部才可以访问

    internal:内部的,当前程序集内可以访问,程序集就是命名空间,此修饰符是默认的
    protected:被保护的,当前类和它的子类才可以访问

    二:命名空间:
    也叫程序集,项目中每一个文件夹都是一个独立的命名空间。
    如果要使用某一个命名空间下的类文件,那么必须首先引用此命名空间。

    三:封装

    打包,封起来,保护起来

    基本格式:

    private int _Ids; - 私有的成员变量

    public int Ids - 属性,封装基本结构
    {
    get{ return _Ids; } 
    set{ _Ids = value; }
    }

    一个成员变量可以有很多个属性

    属性返回类型可以是任意类型,不是必须要与成员变量类型相同

    属性可以是只读的,也可以是只写的,也可以两者都有

    四:继承

    子类可以继承父类所有的public方法和属性

    父类不可以调用子类的方法和属性,哪怕是public的

    子类可以转换成父类,转换成的这个父类也可以转换回相应子类

    子类转换成父类,这个父类不可以转换成其它的子类

    例:

    public class bird:fly
    {
    public override string flying()
    {
    return "我可以飞到参天大树上去!";
    }

    这即是bird这个子类是态生于fly这个父类。

    五:多态

    正所谓龙生九子,各有不同,继承了同一个父类的各个子类之间也是各有不同的。同样都是继承了同一个父类,

    但是父类中的方法并不使用任何一个子类,那么在这就需要子类重新编写这个方法的主体。

    重新编写方法:

    1、需要父类同意子类可以重新编写自己的方法
    virtual - 虚方法
    2、子类只能重写父类允许重写的方法,只能重写虚方法
    override - 重写覆盖虚方法

    例:

    父类中的写法:

    public class fly
    {
    public virtual string flying()
    {
    return "我能飞的更高!!";
    }

    子类中的写法:

    public class plane:fly
    {
    public override string flying()
    {
    return "我可以飞到白云上去";
    }


    另外,所有的类都可以当做父类,都可以有虚方法

    抽象类方法:abstract
    它就是为了被继承而出现的

    普通的类中所有的方法都变成虚方法,没有人用最基础的方法,全部都需要重写,那么就不需要那么费劲把普通类中的方法主体都写完,而是,直接定义成抽象类,并且都写成抽象方法。

    只声明方法的名称和返回类型,具体方法主体是什么,继承过去以后自己去实现。

    抽象方法一定是在抽象类中
    有抽象方法的类,一定是抽象类

    抽象类中不一定只有抽象方法

    接口:interface
    就是让类更加完善

    干爹

    都是抽象方法,不能有一点实在东西,全部内容都需要在子类中进行实现

  • 相关阅读:
    cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)
    (转)分享一个低功耗项目小小心得
    函数返回值传递
    STM32的SPI问题。
    关于MDK中:RO-data、RW-data、ZI-data
    一个技术汪的开源梦 —— 目录
    一个技术汪的开源梦 —— 微信开发工具包
    一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
    一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
    Quartz.NET Windows 服务示例
  • 原文地址:https://www.cnblogs.com/xtq0313/p/5852052.html
Copyright © 2020-2023  润新知