zoukankan      html  css  js  c++  java
  • 1

    7.章 类和集成

    ☆:为重点

    ★:为科普

    △:注

    ▲:术语

    △△:警告

    ●:本章知识点

    ●●:结束本章

    ○:代码

    □:本节知识点

    ■:本节知识点(分)

    ●:7.1类继承

    通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展。

    □:可以使用一个已经存在的类作为新类哦对基础。已存在的类成为基类(base class),新类成为派生类(derivde class)。派生类成员如下:

    ■:本身声明中的成员:

    ■:基类的成员:

    □:要声明一个派生类,需要在类名后面加入基类规格说明。基类规格说明有冒号和后面跟着用作基类的类名称组成。派生类被描述为直接继承自列出的基类。

    □:派生类扩展的它的基类,因为它包含了基类的成员,加上在它本身声明中新增功能。

    □:派生类不能删除它所继承的任何成员。

    △:例如,下面展示了名为OtherClass的类的声明,它继承名称为SomeCLass的类:

                             基类描述符

                                  ↓

    ○: class OtherClass : SomeClass

    {                          ↑   ↑

    //代码块       冒号 基类

    }

     

    ●●:结束本节

     

    ●:7.2访问继承的成员

    继承的成员可以被访问,就像他们是派生类自己生命的一样(继承的结构有些不同)

    例如,下面的代码声明了类SomeClass和OtherClass。这段代码显示OtherClass。的所个成员都能被无缝地访问,无论它们在基类中声明的还是在派生类中声明的;

    □:Main创建派生类OtherClass的一个对象。

    □:Main中接下来的两行调用基类中的Method1,先是使用基类的Field1,然后是派生类的Field2.

    □:Main中后续的两行调用派生类中的Method2,再次先使用基类的Field1,然后是派生类的Field2.

    ○:Class SomeClass   //基类

    {

    public string Field1="base class field";

             public void Method1(string value) {

    Console.WriteLine("Base class__met1;{0}",value);

             }

    }

    ○: class OtherClass:SomeClass    //派生类

    {

    public string Field2="der class field";

    public void Method2(string value) {

    Console.WriteLine("der class__met2;{0}",value);

             }       

    }

    ○:class program{

    static void Mian(){

     OtherClass oc=new OtherClass();

     oc.Method1(oc.Field1);

     oc.Method1(oc.Field2);

     oc.Method2(oc.Field1);

     oc.Method2(oc.Field2);

                       }

             }

    以上三个代码结果

    ase class__met1; base class field

    ase class__met1; der class__met;

    der class__met2; base class field

    der class__met2; der class__met;

    ●●:结束本节

    ●:7.3所有类都是派生自object类

    △:除了特殊的类object,所有的类都是派生类,即使它们没有基类规格说明。类object是唯一的非派生类,因为它是继承层次结构的基础。

    △:没有基类规格说明的类隐式地直接派生自类object。不加基类规格说明只是指定object为基类的简写。这两个形式是语义等价的。

    ○:class SomeClass{

    //代码块

    }

    ○:class SomeClass:object{

    //代码块

    }

    △:上面的类说明隐式地派生自object类,而下面的则显示派生自object。这两种形式在语义上是等价的。

    ☆:关于类继承的其他重要内容如下。

    □:一个类声明的基类规格说明中只能有一个单独的类。这成为单继承。

    □:虽然类只能直接继承一个基类。但继承的层次没有限制。也就是说,作为基类的类可以派生自另外一个类,而这个类又派生自另一个类,一直下去,直到最终到达object。

    ▲:基类和派生类都是相对的术语。所有的类都是派生类,要么派生自object,要么派生自其它类。所以,通常当我们成为一个类为派生类时,我们的意思是它直接派生自某类而不是object。下图展示了一个简单的类层次结构。在这之后,将不会在图显示object了,因为所有的类最终都派生自它。

     

    ●●:结束本节

  • 相关阅读:
    前端知识 | 一个简单的登录页面包含多少前端基础知识?
    SQLserver查询作业、视图、函数、存储过程中的关键字
    SQL server 数据库备份至服务器本地磁盘和其他服务器磁盘
    Linux(centos)安装vim
    CentOS6 7 8更换阿里yum源
    centos8 最小化安装 无 ifconfig,netstat 的安装
    修改MySQL用户的host属性
    阿里云NTP服务器(国内可用的NTP服务器)
    vCenter Server Appliance(VCSA )7.0 部署指南
    Chrome离线安装包最新版
  • 原文地址:https://www.cnblogs.com/liehuonanjue/p/8261165.html
Copyright © 2011-2022 走看看