zoukankan      html  css  js  c++  java
  • 面向对象4-2 封装性 继承性

    一、封装性

    访问修饰符:

    public:访问权限最高,在命名空间内随意访问!

    private:访问权限最低,只有当前类的内部才可以访问。

    internal:内部的。在当前程序集(命名空间,即namespace)内可以访问。是程序默认修饰符

    protected;在当前类和他的子类才可以访问!

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

     。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    以前命名类的时候都是

    public int code;

    public string name;

    然后在main函数里面先进行实例化,然后就可以随意引用code,name属性。这样子,任何人都可以随便访问。为了防止这种现象发生,我们就要对其进行封装,要这样进行封装:

    private int  _code;//将public换成private
    public int code    //建立一个变量code,通过这个变量来访问_code
    {
       get{return _code;}//输出的结果。
       set{_code=value;}//进行赋值,value为赋的值。可以再里面的value进行条件设置
    }

    set {}和get{}可以只有一种!!同时也可以有多个public

    总结封装性:

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

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

    属性可以是只读的,也可以只写的,也可以是两者兼备的!

    二,继承性

    在同一个namespace下面建一个类,如fly

    public string fly1()
    {
    return "我可以飞";
    }

    在main函数里面:

    fly f=new fly();
    string a=f.fly1();
    console.write(a);

    输出值为:我可以飞。

    然后进行继承:

    新建一个bird类

    在bird这个类里面这样写:

    public string bird:fly   //注意:“:fly”
    { 
                                  //什么也没写
    }

    这样bird就继承了fly的所有属性(除了private)。

    bird a=new bird();
    string b=a.fly1();
    console.write(b);

    输出结果为:“我可以飞”。

    =======

    子类父类的转换:

    上面中,fly是bird的父类,bird是fly的子类;

    //子类强制转换为父类
    bird b=new bird();
    fly f=(fly) b;     //f可以调用bird里面的属性和方法。
    //f(此时是跟fly同为父类)也可以再次次转成以前相应的子类
    bird bb=(bird) f;  //bb可以调用bird里面的属性和方法

    继承性总结:

    子类可以继承父类所有的方法和属性(private 除外);

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

    子类可以转换成父类,转换成的父类也可以转换成相应的子类,但是不能转换成其他的子类。如父类1,子类有两个子类:1.1 和1.2,1.1可以转换成父类1,然后1也可以再次转换成1.1,但是不能转换成1.2。

    完!!!!

  • 相关阅读:
    Luogu P1020 导弹拦截
    MySQL事务隔离级别和实现原理
    classloader加载class文件的原理和机制
    Spring Bean的生命周期只有这四个阶段
    Spring 源码:BeanFactory 简介以及它 和FactoryBean的区别
    开闭原则——面向对象设计原则
    HashSet的实现原理
    装饰器模式(装饰设计模式)详解
    在java中,HashMap 或者HashTable,它们的键值被放满了,会出现什么情况?
    Mybitis 批量插入实践
  • 原文地址:https://www.cnblogs.com/wwz-wwz/p/5853422.html
Copyright © 2011-2022 走看看