首页 > 编程 > Python > 正文

Python面向对象编程基础解析(一)

2020-02-16 10:29:52
字体:
来源:转载
供稿:网友

1.什么是面向对象

面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的。应用在编程中,是一种开发程序的方法,它将对象作为程序的基本单元。

2.面向对象与面向过程的区别

我们之前已经介绍过面向过程了,面向过程的核心在‘过程'二字,过程就是解决问题的步骤,面向过程的方法设计程序就像是在设计一条流水线,是一种机械式的思维方式

  优点:复杂的问题简单化,流程化
  缺点:扩展性差

  主要应用场景有:Linux内核,git,以及http服务

面向对象的程序设计,核心是对象,对象就是特征(变量)与技能(函数)的结合体。

  优点:解决了程序扩展性差的问题
  缺点:可控性差,无法预测最终结果

  主要应用场景是需求经常变化的软件,即与用户交互比较频繁的软件

需要注意的是:面向对象的程序设计并不能解决全部问题,只是用来解决扩展性。当然,现在的的互联网软件,扩展性是最重要的

3.对象与类的概念

在python中,一切皆对象,一个对象应该具有自己的属性,也就是特征,还有有自己的功能,即方法

在Python中,特征用变量表示,功能用函数表示,所以对象就是变量与函数的结合体

而从各种各样的对象中抽取出来具有相同特征和相同功能组成的,就是类,所以说类是一系列对象共同特征与功能的结合体
下面让我们来定义一个类,方法与定义一个函数有些类似:

#定义一个中国人的类class Chinese: #共同的特征 country='China'  #共同的技能 def talk(self): print('is talking Chinese') def eat(self): print('is eating Chinese food')

这样我们就定义好了一个类,注意:

1.定义类用class关键字
2.类名一般首字母大写,且冒号前面不需要括号(非必须,有括号也不报错,一般需要继承object类来保证是新式类),区别于函数定义
3.与函数不同,类在定义阶段就会执行类里面的代码
4.类有两种属性,共同的特征叫数据属性,共同的功能叫函数属性

怎样由这个类产生一个对象呢?实例化:

#实例化的方式产生一个对象p1=Chinese()p2=Chinese()

我们可以得出结论了,不管现实世界中怎么样,但是在程序中,确实是先有类,才有的对象

我们已经通过实例化的方式得到两个对象了,但是有一个问题,得到的两个对象,特征和功能都是一样的,这根万物皆对象的理念完全不符啊,应该是每个对象都是不同的,这样的世界才有意思啊

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表