欢迎加入Linux_Python学习群
群号:478616847
目录:
-
面向对象的程序设计
-
类和对象
-
封装
-
继承与派生
-
多态与多态性
- 特性property
-
静态方法与类方法
- 异常处理
一、面向对象的程序设计
在Python中大家一定听过一句话,叫做一切皆对象,字典、序列、数字和字符串都是根据类来创建的,在python中面向对象(object)编程是python的
核心概念,类(class)最终解释了面向对象编程思想(OOP),同样类也是一种对象,它是通过python中的元类(type)创建的,在这个元类中,定义了类
是如何创建的(第七章讲解元类),下面开始学习面向对象的编程。
为什么要有面向对象的程序设计?
在学习面向对象之前,我们要确定面向对象的程序设计不是编程,而是设计方法和编程思路,就像我们搭建一个集群,首先要先设计一下,这个服务器
安装什么,那个服务器安装什么,面向对象的编程也是一样的要先设计程序,然后才能进行编程,我们所写的程序都是面向过程的,也就说程序是按照
一定的步骤去解决问题,就好比一条流水线,到了哪个阶段该做什么事,那么这样的优点就是极大地降低了程序的复杂度,缺点就是过程式编程是为了
解决一个问题的,就好比生成自行车的流水线生产不了汽车,面向过程的编程,往往系统会更加稳定,但是面对频繁的需求变更的时候,面向过程就变
得乏力,经常的出现改一个地方,其它地方也需要修改。
而面向对象的程序设计核心就是对象,在现实世界中人们的主观上,将实物分成不同的类型,比如动物中有猫类,狗类等等,并且狗也有不同的类型
(比如哈士奇,藏獒),每个个体也有独特的属性(比如体重,毛发的颜色),所以中把这种形式引进到编程,面向对象的编程首先要把自己当成上帝,
当成创造者,我们创建一个类之前需要考虑这个类有什么共同性,有什么差异性,我们可以把这些共同性变成一个类,然后通过这个共同性的类,创
造出差异性的个体。
面向对象的程序设计并不是全部。对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性,并且面向对象编程的可控性差,经常可以看到
游戏中的BUG,比如一刀几千血啊之类的。
1.性能(Performance)是指系统的响应能力,即要经过多长时间才能对某个事件作出响应,或者在某段时间内系统所能处理的事件个数; 2.可用性(Availability)是指系统能够正常运行的时间比例; 3.可靠性(Reliability)是指系统在应用或者错误面前,在意外或者错误使用的情况下维持软件系统功能特性的能力; 4.健壮性(Robustness)是指在处理或者环境中系统能够承受的压力或者变更能力; 5.安全性(Security)是指系统向合法用户提供服务的同事能够阻止非授权用户使用的企图或者拒绝服务的能力; 6.可修改性(Modification)是指能够快速地以较高的性能价格比对系统进行变更的能力; 7.可变性(Changeability)是指体系结构扩充或者变更成为新体系结构的能力; 8.易用性(Usability)是衡量用户使用软件产品完成指定任务的难易程度; 9.可测试性(Testability)是指软件发现故障并隔离定位其故障的能力特性,以及在一定的时间或者成本前提下进行测试设计、测试执行能力; 10.功能性(Function ability)是指系统所能完成所期望工作的能力; 11.互操作性(Inter-Operation)是指系统与外界或系统与系统之间的相互作用能力。 软件的质量属性