前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第02步《番外篇》第1章认识计算机世界第5课

第02步《番外篇》第1章认识计算机世界第5课

作者头像
LIYI
发布2023-02-14 13:11:50
2640
发布2023-02-14 13:11:50
举报
文章被收录于专栏:艺述论专栏

今天学习《番外篇》第1章认识计算机世界的第5课。

学习目标

  • 了解面向对象的三个基本特征;
  • 了解面向对象设计思想的6个基本原则,什么是单一职责原则、开放封闭原则、里氏替换原则、迪米特原则、接口隔离原则和依赖倒置原则;
  • 了解什么是设计模式。

主要知识点

  • 面向对象编程,英文是 Object Oriented Programming,简称 OOP,是一种通用的软件设计思想,它将复杂的事物关系从现实世界中抽离出来,以对象为单位设计其属性及方法,让不同对象之间发生作用和联系,从而实现软件设计目标的软件设计思想。
  • 面向对象语言例如 C++、Java、Swift 、JavaScript 等,都有三个基本特征:封装、继承和多态。
  • 封装,主要是指将数据,以及对数据的操作方法,封装在对象内部,对外仅暴露有限且必要的属性和方法。
  • 对于JS新语法,如果浏览器等宿主环境尚未支持,只可以使用Babel进行转化。
  • 继承指子类继承父类的属性及方法,达到复用与扩展的目的。
  • 多态指同一个对象引用,在不同情况下的不同表现。当对象引用是一个接口类型时,实现该接口的不同的实体类,它们的同一方法因为实现不同,而具有不同的表现;当对象引用是一个父类类型时,继承该父亲的所有子类,它们的同一方法如果重写了,也会有不同的表现。
  • 单一职责原则:单一职责要求每个类只负责一个功能,或相关的一类功能。
  • 开放封闭原则:对扩展开放,对修改封闭。
  • 里氏替换原则:子类对象可以替换父类对象,父类能出现的地方,子类亦能出现,但反过来却不可以。
  • 迪米特原则(自闭原则):这条原则也称自闭原则,一个类对自己依赖的类或对象,知道得越少越好。
  • 接口隔离原则:保持接口的简单独立,设计多个特定用途的小接口,好过设计一个用途宽泛的大接口。
  • 依赖倒置原则:对象间的依赖关系要建立在抽象类型上,而非具体类型上。
  • 什么设计模式?设计模式英文叫 Design pattern,是面向对象编程中反复使用的代码编写范式,是面向对象软件设计的经验总结。如果说面向对象是武功心法,那么设计模式就是与这套心法匹配的具体招式。

实践疑难点

  • 在终端中安装Babel工具,涉及两个模块的安装:@babel/cli@7.20.7和@babel/core@7.0.0。安装时最好对应上版本号,在安装Node.js所有模块时,都应该注意指定版本号,而不是一味安装最新版本。
  • 本步已开始接触到源码,在公众号艺述论回复10000下载所有源码,找到对应的源码文件,尝试在终端中运行。所有源码都是作者亲自编写并测试过的,都可以正常运行。在书中每个代码示例的顶部,注意观察,一般都有一个文件相对地址:

在下载的源码目录中找到这个文件,运行它即可。本步源码不要求手写,仅是能够在终端中使用Babel工具运行它即可。关于Babel工具的详细安装及使用方法,在前端篇第1课中有详细介绍。

小结

6个面向对象设计原则仅是人们普遍总结出来的原则,在别的地方可能是4个原则,也可能是8个原则,这不重要。重要的是,所有面向对象设计原则,本质都是为了实现高内聚、低耦合的软件设计目标。当语言发生变化的时候,6个设计原则会变化,但这个总的设计目标不会变化。

2022年12月25日

有问题请在下一步学习讲义推送前,在评论区提问。

新人一半的问题都是因为粗心大意所致,遇到问题时不妨先认真自检一下,或者使用谷歌搜索一下,大部分问题谷歌都能给出建议或线索。

最后说明一下,这个公众号主要是我业余用于辅助编写PBL实战教学内容的,关于计算机编程学习方面,你有什么想了解的,都可以在最新推文的评论区留言告诉我。

感谢读者朋友的理解与支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 艺述论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今天学习《番外篇》第1章认识计算机世界的第5课。
    • 学习目标
      • 主要知识点
        • 实践疑难点
          • 小结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档