zoukankan      html  css  js  c++  java
  • 12-14面向对象--抽象基类、接口、委托

    一、抽象类与抽象方法

    1、在一个类前面加上abstract关键字,此类就成为了抽象类。

    1)当一个类变成抽象类时,就不能作为一个对象使用了,也就是说不能创建新对象,不能new初始化。

    2)抽象方法只是一个方法,不能写方法

    3)当一个类继承的是抽象类时,必须要把抽象类的抽象方法重写(override)才可以实现方法。

    4)抽象方法必须放在抽象类里面才能使用,抽象方法是在抽象子类中实现的,也就是说抽象子类实现抽象父类所有的抽象方法。

    5)有抽象方法的一定是抽象类;有抽象类但不一定有抽象方法。

    6)必须通过抽象子类点出父类的抽象方法,才能输出方法的值;

    结论:抽象类只能作为父类使用。

    2、抽象方法

    【注意事项】抽象方法不能有实现方法,在函数名后直接跟一个分号;要想实现抽象方法,必须有抽象子类才能实现方法。

    在抽象类(父类)中定义方法:

    在抽象子类中实现:

    3、抽象属性(封装)

    二、接口

    定义:关键字interface用于定义接口。

    【注意事项】

    1、一个子类可以继承多个接口,解决了一个子类只能继承一个父类的属性和方法。

    2、在接口里,如果子类继承了方法,就必须实现这个方法。

    在接口里面,既不能定义属性、方法,也不能定义字段。

    三、委托(delegate

    理解:委托可以看成是一个函数的容器,可以引用任何一个满足其要求的函数。

    举例:委托就相当于螺丝刀的“底座”,要使用什么样的螺丝刀样式(平口的、梅花口的、十字型的)是事先规定好,只要符合条件就会被放在底座上。

    定义:委托可以看做是一种数据类型,可以用于定义变量,但他是一种特殊的数据类型,它所定义的变量能接收的数值只能是一个函数。

    如何使用使用方法:

  • 相关阅读:
    我的友情链接
    我的友情链接
    BUMO:超级节点共建接口
    OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
    零知识证明: 抛砖引玉
    比特币原理
    区块链零知识证明:STARKs,Part-3:攻坚(下)
    什么是zkSNARKs:谜一般的“月亮数学”加密,Part-1
    什么是zkSNARKs:谜一般的“月亮数学”加密,Part-2
    STARKs, Part I: 多项式证明
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4163162.html
Copyright © 2011-2022 走看看