面向对象语言接口和超类

来源:互联网 发布:js 数组中删除元素 编辑:程序博客网 时间:2024/06/06 00:41

首先要知道什么是面向对象语言和超类还有接口

面向对象语言

面向对象语言,是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。

超类

被继承的类成为超类(父类)

接口

计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。可以理解为一个特殊的抽象类,规定了一个类必须做什么。而其他类继承于它,这些抽象方法就是一个一个的接口

那么面向对象语言接口和超类有什么异同呢

  • 接口是公开的,里面没有私有方法和私有变量,是供别人使用的,而超类中可以有私有变量和方法
  • 实现接口一定要实现接口里定义的所有方法,抽象类可以选择需要的来重写定义
  • 接口可以实现多重继承,而一个类只能有一个超类

    按我的理解,接口就是老师,他教会我们生活中必须要做的事情,老师可以有多个,可以获得多个技能,而超类,就是父亲,肯定只能有一个了

    作为动作管理器的接口ISSActionCallback

public enum SSActionEventType : int { Started, Competeted }public interface ISSActionCallback{    void SSActionEvent(SSAction source,                        SSActionEventType events = SSActionEventType.Competeted,                        int intParam = 0,                        string strParam = null,                        Object objectParam = null);}

是不能作为超类的,原因很简单,它定义了事件处理接口,所有事件管理者必须实现这个接口来实现时间调度,所以组件事件需实现它,事件管理器也必须实现它,所以只能是接口。从UML图更好理解
这里写图片描述

同理,SSAction,SSActionManager不能设计为接口
这里写图片描述

这里写图片描述
这里写图片描述

原因一是它们有私有变量和方法,二是它们的方法都已有明确的定义
这里写图片描述

0 0
原创粉丝点击