专栏首页BigData_Flink面向对象之总述

面向对象之总述

A1 何谓面向对象

面向对象:OOP(Object Oriented Programming)

面向对象编程:OOPL(Object Oriented Programming Language)

其中有两个重要概念:类(class)、对象(object)

第一个真正意义上的面向对象编程语言:Smalltalk

1.1 面向对象编程

面向对象编程时一种编程范式或编程风格。

它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。

1.2 面向对象编程语言

面向对象语言是支持类或对象的语法机制。

并有现成的语法机制,能方便地实现面向对象编程四大特性(封装、抽象、继承、多态)的编程语言。

使用面向对象编程语言写出来的代码不一定是面向对象编程风格的。

A2 如何判断是面向对象编程语言

从字面上看:

面向对象编程按最简单和最原始的方式来理解,就是将对象或类作为代码组织的基本单元,来进行编程的一种编程范式或编程风格,并不一定需要封装、抽象、继承、多态这四大特性的支持。

粗略概念:

只要某种编程语言支持类或对象的语法概念,并且以此作为组织代码的基本单元,那就可以被粗略地认为它就是面向对象编程语言了。

至于对四大特性的支持、取舍、优化则可不作为判定标准。

不要下死定义和学院派。

A3 面向对象分析和面向对象设计

面向对象分析:OOA(Object Oriented Analysis)

面向对象设计:OOD(Object Oriented Design)

面向对象软件开发经历的三个阶段:OOA、OOD、OOP(分析、设计、编程实现)


面向对象 ----> 围绕对象或者类进行需求分析和设计。

分析设计两阶段的产出:类的设计

  • 程序被拆解为哪些类
  • 每个类有哪些属性方法
  • 类与类之间如何交互

与其他分析和设计比较

  • 更具体
  • 更贴近代码
  • 更顺利地过度到面向对象编程环节

OOA:做什么

OOD:怎么做

OOP:翻译成代码

A4 UML?!

统一建模语言:UML(Unified Model Language)

沟通工具,但学习和掌握的成本较高。

A5 相关

上集:设计模式之总述

下集:面向对象之特性

参考文献

极客时间:设计模式之美.王争。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++ | 面向对象之“封装”简述

    众所周知,C++是一门面向对象的语言,相对于面向过程的C语言,面向对象有时候有自己的优势,今天就讲一下面向对象的三大特性之一——封装。

    飞哥
  • 面向对象的概述

    ============================================================================= 1:...

    黑泽君
  • JS面向对象概述

    这部分内容还是比较难理解的,像借用构造函数这种方法,实际工作中还是很常见的,不过对于后面的寄生理解还有点困难,只能慢慢学习了。 思维导图 ?

    用户1154259
  • Python3 面向对象概述

    Python从设计之初就已经是一门面向对象的语言,所以我们可以以面向对象的方式去编写python代码。面向对象就是将任何事情都当做对象去看待,一个对象会拥有属性...

    py3study
  • 面向对象总结

    ​ 核心是过程,过程指的是做事情的步骤,即先干什么再干什么。 ​ 基于该编程思想编程,就好比一条流水线,一种机械式的思维方式。

    GH
  • 5:面向对象总结

    六月的雨
  • JavaScript面向对象之Windows对象

    JavaScript之Window对象 首先我们先了解一个概念:事件。 事件,就是把一段代码设置好,满足条件时触发。或者说,事件是可以被 JavaScript ...

    二十三年蝉
  • Python面向对象之面向对象基本概念

    过程和函数:过程类似于函数,只能执行,但是没有返回结果;函数不仅能执行,还能返回结果。

    py3study
  • Python之面向对象

    在Python中,实例的变量名如果以双下划线”__”开头,它就变成了一个私有变量,类似于C++当中的private属性,只有内部可以访问,外部不能访问,...

    AsiaYe

扫码关注云+社区

领取腾讯云代金券