2017-11-06 11:02:50

所有编程语言的最终目的都是提供一种“抽象”方法。

解决问题的复杂程度直接取决于抽象的种类及质量。这儿的“种类”是指准备对什么进行“抽象”?

汇编是对基础机器的少量抽象。“命令式”语言是对汇编语言的一种抽象。

(Alan Kay 总结的 Smalltalk 的五大基本特征)面向对象程序设计语言

1)所有东西都是对象。可将对象想象成一种新型变量;保存着数据,但可要求它对自身进行操作。理论上可从要解决的问题

身上提出所有概念性的组件,然后在程序中将其表达为一个对象。

2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。

可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。

3 ) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。

所以,尽管对象的概念非常简单,但在程序中却可达到任意搞的复杂程度。

4)每个对象都有一种类型。 根据语法,每个对象都是某个“类”的一个“实例”。

其中,”类“(Class) 是 ”类型“ (Type)的同义词。一个类最重要的特征就是”能将什么消息发给它?“。

5)同一类所有对象都能接收相同的消息。对象的”可替换性”,是 OOP 最重要的概念之一。

转载于:https://www.cnblogs.com/masterSoul/p/7792655.html

Software-OO 面向对象思维相关推荐

  1. java设计模式之—OO面向对象思维 Object Oriented(农场一头小母牛,每年生头小母牛,母牛5岁产母牛,20年上多少牛?)

    题目:农场一头小母牛,每年生头小母牛,母牛5岁产母牛,20年上多少牛? 目的:1.考验初学者面向对象设计理念.2.考验初学者的逻辑思维能力以及计算能力. 注:不考虑其他现实中的逻辑,比如没有公牛怎么生 ...

  2. UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)

    文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...

  3. 【设计模式系列】之OO面向对象设计七大原则

    1  概述 本章叙述面向向对象设计的七大原则,七大原则分为:单一职责原则.开闭原则.里氏替换原则.依赖倒置原则.接口隔离原则.合成/聚合复用原则.迪米特法则. 2  七大OO面向对象设计 2.1 单一 ...

  4. 归纳法与面向对象思维

    归纳法包括:枚举归纳推理,因果关系法,概率推理. 上面归纳法的枚举归纳推理,因果关系法就是编程中面向对象的思维,核心一致. 我要感谢自己学了编程,面向对象思维是自底向上,从特性到共性或者整合的目的,共 ...

  5. 如何理解面向对象思维?

    一:什么是面向对象思维? 所谓面向对象,即是将现实中错综复杂的对象,抽丝剥茧,变成一个个最小的单元.要使用时,再通过封装组合的方式,组成一个个业务对象,从而映射出复杂的现实对象.比如DTO业务对象,映 ...

  6. 在python中给自己介绍对象笔记--OO面向对象

    面向对象=属性+方法,简称OO=Oject Oriented; list有类,封装,以及多态的特性 class Turtle: # Python 中的类名约定以大写字母开头""&q ...

  7. oo面向对象第一单元总结

    oo第一次作业主要考察了多项式的求导,从简单的幂函数求导到三角函数求导再到嵌套函数的求导,难度循序渐进,对我们对于面向对象的理解的要求也在一次一次提升.一行行代码打下来,一夜夜熬过去,我也来到了这个短 ...

  8. JAVA类思维_面向对象思维 Java中的类和对象及其应用

    一.面向过程与面向对象 面向过程: 从事务执行者的角度思考问题,我该干什么  重点在过程----事务流程 面向对象: 从事务的指挥者角度思考问题,我应该找谁干什么  重点在对象 面向对象的优点: 1. ...

  9. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能

    前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...

  10. SAP OO面向对象理论知识(部分一)

    SAP OO 1. 概述 从SAP R/3 4.0版本开始,abap就引入了面向对象的开发概念. abap语言大发展: 宏编译器 abap语言出现-面向过程 abap语言-面向对象 abap对象是ab ...

最新文章

  1. SpringBoot巧用 @Async 提升API接口并发能力
  2. Python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型————(错)
  3. xml生成2维码_MyBatis(2)之MyBatis-Generator最佳实践
  4. centos: firewalld 一
  5. 修改LR自带的示例程序端口号,Cannot create GUI process-program not found
  6. 40.leetcode17_letter_combinations_of_a_phone_number
  7. 【转载】学习Android界面设计的超级利器HierarchyView.bat
  8. Android FrameWork——Activity启动过程详解
  9. 域名微信拦截html代码,微信域名拦截查询网页源码——一个非常实用的微信域名检测工具实现...
  10. linux软件装在哪了,linux软件的安装目录在哪
  11. java做航空购票系统_基于JAVA的航空订票系统
  12. Linux下gzip、bzip、zip、tar压缩命令的使用详解
  13. uygurqa输入法android,uygurqa键盘输入法
  14. 电脑显示受限制无连接应该怎么办
  15. 怎样才能走进区块链行业?
  16. 山水之道第五境——精灵的天地大阵
  17. 江苏“同心圆”工程为银发投资安全设“保护圈”
  18. [NLP] 秒懂词向量Word2vec的本质+word2vec资源总结
  19. 什么是低代码开发,为何大企业都选择低代码来做数字化?
  20. 你不知道的斗破苍穹之python篇

热门文章

  1. vscode使用教程python-VsCode使用教程
  2. python必背100代码-这 100 道 Python 题,拿去刷!!!
  3. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
  4. 怎样才算熟悉python-怎样才算python入门
  5. 零基础学编程学java还是python-零基础学编程,Java和Python你pick谁?
  6. python 加注拼音-Python 获取中文字拼音首个字母的方法
  7. python画-使用python画个小猪佩奇的示例代码
  8. python单词意思-python实现单词本功能
  9. 学python需要哪些基础-python 学习,需要有哪些基础呢?
  10. python网课百度网盘-我的“便(bian)宜”Python网课第一课