zoukankan      html  css  js  c++  java
  • 面向对象编程和面向接口编程

    1.定义:

      (class),是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性方法。(来源Wiki)
      接口包含  或 结构 可以实现相关一组功能的定义。接口可以包含方法、属性、事件、索引器,或者这四个成员类型的任意组合。(来源MSDN)

    2.类与接口比较:(不考虑抽象类)

      a.接口支持多重继承、而类只能有一个基类。

      b.接口成员只有方法、属性、事件、索引器,而类却拥有更多成员,如字段、构造函数等。

      c.接口中的成员仅有定义没有实现,而类中的成员包含实现。

      d.接口中的成员都是可见,而类中成员可以对其他类隐藏。

      e.接口只能定义实例成员, 不能定义静态成员,而类中可以含有这两种成员。

    3.对两种编程思想的理解:

      在一个系统中,考虑问题的东西不一样,一个是考虑遵循接口规则的对象,一个是考虑具体类的实例。

      接口较为灵活,实现功能也较为单一,而具体类能实现功能,也可以提供一些额外的信息。  

      举个例子:PC输出信号模式有三种:VGA、DVI、HDMI(还有很多模式)。公司有一PC和笔记本,PC配置的PHILIPS显示器支持VGA、DVI显示接口,笔记本支持DVI显示接口。为了提高工作效率,将PC显示输出用VGA线接到PHILIPS显示器,笔记本输出DVI也接到PHILIPS显示器,然后打开PC和笔记本,将显示器设置为笔记本的扩展桌面。这下舒服了,使用笔记本时,可以利用PC的显示器(切换显示器信号为DVI);如果想用PC,直接切换显示器的信号接口到VGA。

      现在,你有一笔记本和PC主机,买哪种显示器好呢。

      a.如果是上面说的这种型号的PHILIPS显示器,那么你就会很Happy,这是考虑具体类的实例。

      b.如果是同样拥有VGA和DVI两种接口的显示器,不管是什么牌子、型号等其他信息(这是具体类比接口提供更多的信息),你也会很Happy,这是考虑遵循接口规则的对象。

      c.如果你已经买了单个接口的显示器,......额,貌似现在不会找到单接口的显示器。

      
     

  • 相关阅读:
    前端性能优化方案-路由懒加载实现
    写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么
    自定义组件实现双向绑定v-model
    前端开发中如何快速定位问题
    修改浏览器属性配置的作用---开发机上解决跨域的方式
    vue展示md文件,前端读取展示markdown文件
    js数组去重
    VUE错误码Attribute ':sizeOpts' must be hyphenated
    前端开发-日常开发沉淀之git提交文件忽略
    创建一个新的分支并关联远程分支
  • 原文地址:https://www.cnblogs.com/maomiyouai/p/3023494.html
Copyright © 2011-2022 走看看