Python之面向对象程序设计-基础知识

面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。

主流的编程范式:

  1. OOP - 面向对象编程 世界观:一切皆对象。
  2. FP - 函数式编程 世界观:一切皆函数。一般指无副作用的函数。
  3. PP - 过程化编程
  4. IP - 指令式编程
  5. LP - 逻辑化编程
  6. AOP - 面向方面编程 装饰器

设计方法:

  1. 自顶向下
  2. 自底向上

面向对象更进一步的抽象了世界。OOP的世界观:

  1. 世界是由对象组成的
  2. 对象具有运动规律和内部状态
  3. 对象之间可以相互作用

就是一个模板或蓝图,用来生成对象的。我们可以把类看做是一套模具,而模具加工出来的产品就是对象。当我们从一套模具中塑造出一个产品的时候,我们就可以说创建了一个实例。

面向对象的特性:

  1. 唯一性:对象都是唯一的,不存在两个相同的对象,除非他们是同一个对象。
  2. 分类性:对象是可分类的,世界是由不同的类型组成的。

面向对象的三大特征:

  1. 封装
  2. 继承
  3. 多态

今天主要介绍这么多,一行代码都没有涉及到。后面会依次介绍如下的内容:

  1. 实例化过程
  2. 类方法/静态方法
  3. 访问控制
  4. 继承

原文发布于微信公众号 - 小白的技术客栈(XBDJSKZ)

原文发表时间:2018-02-08

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏aCloudDeveloper

算法导论第二章小试牛刀

Author: bakari   Date: 2015.9.11 《算法导论》真是一本让人又爱又恨的书,爱自然是因为它精简凝练的算法呈现,读来让人欲罢不能;至于...

2409
来自专栏算法channel

除自身累乘算法题,又有创意解法了

一个数组,求除了某元素自身位置之外的其他元素累积相乘,返回一个同长度的数组。有两个要求比较苛刻: 1) 不能用除法 2) 时间复杂度O(n),空间复杂度O(1)...

980
来自专栏ACM算法日常

水果Fruit(母函数) - HDU 2152

转眼到了收获的季节,由于有TT的专业指导,Lele获得了大丰收。特别是水果,Lele一共种了N种水果,有苹果,梨子,香蕉,西瓜……不但味道好吃,样子更是好看。 ...

872
来自专栏LinkedBear的个人空间

【挑战剑指offer】系列02:替换空格 原

本系列的算法原题来自于“牛客网-剑指offer”,写这个板块,不仅仅是解决算法问题本身,更是手动提高难度、自行变式,思考更多的解决方案,以带给自己一些启发。

983
来自专栏ACM算法日常

神、上帝以及老天爷(递推) - HDU 248

HDU 2006'10 ACM contest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的: ...

1032
来自专栏小二的折腾日记

LeetCode-55-Jump-Game

由题可知,数组的位置表示从该位置可以像前跳的步数,看最终能否跳到结尾。乍一看,这像是一个动态规划的问题,dp数组内存储每一个位置能够走的最远的位置,但是仔细一想...

1013
来自专栏窗户

scheme实现最基本的自然数下的运算

  教一个基本没编过什么程序的朋友scheme,为什么教scheme呢?因为他想学,因为一直听我鼓吹,而他觉得他自己多少有C语言一点基础,而又因为我觉得函数式才...

583
来自专栏牛客网

深信服面试 C++/云计算面经

1485
来自专栏数说工作室

循环、分支...都可以在Python中用函数实现! | 函数式编程,打开另一个世界的大门

编程界有一位传奇人物——王垠,介绍一下他的退学经历,对,你没听错,退!学!经!历!: 2006年,从清华大学计算机系退学,在水木社区BLOG上发表了《清华梦的...

2726
来自专栏desperate633

LeetCode 121. Best Time to Buy and Sell Stock题目Solution

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。 样例 给出一...

653

扫码关注云+社区