zoukankan      html  css  js  c++  java
  • 1212面向对象--引用类型与值类型、命名空间与类库、继承(父类与子类)

    五、引用类型与值类型

    .NET将变量的类型分为值类型引用类型。例如int和float之类的变量属于值类型,而“类“类型的变量属于引用类型

    值类型与引用类型的变量在使用上是有区别的。

    值类型的变量在一定义之后就可以马上使用。

    引用类型的变量定义之后,还必须用new关键字创建对象后才可以使用。

    如上图,创建两个新的对象时,直接比较两个对象是否相等,返回的bool值为false.因为两个对象都是新开辟的一个空间变量,彼此没有任何关系,所有是不相等的。

    如图2:1)创建的第一个新的对象ss1,给ss1中的属性分别赋值;再创建第二个新的对象ss2,直接比较ss1和ss2,仍然不相等;

              2)但是,当执行”ss2=ss1“时,把对象ss2指向ss1,就把ss1的值赋给ss2,这时候比较时,返回的是true;

              3)当打印ss2.Name,输出就是ss1.Name的值;

              4)再次给ss2.Name赋值时,输出是ss1.Name的值;

    ss1=ss2后,两个变量表示的是同一个对象,好比是一个人有两个“名字”

     六、命名空间与类库

    1、命名空间:又称程序集,相当于一个文件夹,里面包含好多的类(文件)。

    2、类库:许许多多的类组合在一起,就相当于好多文件组成一个压缩包。

    七、继承

    在构成继承关系的两个类中,一个被称为父类或基类,另一个被称为子类。如下图:

    【重点理解】:1)子类包含弗雷德所有属性和方法;

                        2)所有的子类都可以直接转换成父类类型;

                        3)当父类类型变量里面存的是某个子类的对象的时候,才能转换成那个子类类型。

    举例说明:

    【例1】:1)创建一个Ren类的对象,其字段属性包含Name,Sex;(运用封装字段)方法为“会说话!”

                2)创建一个Men类的对象作为Ren类的子类,其字段属性继承Ren类的属性Name,Sex,方法为“会赚钱”;

       class Man:ren//Man代表ren的子类
        {

            //方法为“会赚钱”
            public void ZhuanQian()
            {
                Console.WriteLine("赚钱养家");
            }
        }

    3)在主函数中,如何体现父类与子类的继承关系;通过强制转换,子类对象转换为父类,然后再从父类转换成子类时的属性不会缺失(必须在某个子类存在其父类当中的前提下);

    【注意】:一个父类可以包含多个子类;但一个子类只能对应一个父类;父类与子类可以理解为一对多的关系。只有子类转化为父类的,才可以从父类转化成子类!

  • 相关阅读:
    将centos_yum源更换为阿里云(官方文档)
    JIRA 破解文件研究(Win 7环境)
    告别拖延症,你也可以轻松做到
    VS2015 + EF6连接MYSQL
    start-stop-daemon
    stm32开发板无法正常写入的问题或者写入后无法正常运行的问题
    进制转换
    回文判断程序
    C语言结构体指针的引用问题
    升级/安装主题插件提示权限不足 输入FTP解决办法
  • 原文地址:https://www.cnblogs.com/huaze/p/4162284.html
Copyright © 2011-2022 走看看