Python中的面向对象程序设计

面向对象程序设计

面向对象程序设计是在面向过程程序设计的基础上发展而来的,它比面向编程具有更强的灵活性和扩展性,本次学习需要了解以下内容;
①了解什么是面向对象;
②掌握如何定义和使用类;
③掌握如何创建类的属性;
④掌握继承的基本语法;
⑤掌握方法重写;

1、面向对象概述

面向对象是一种设计思想,从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编程思想,并且逐步成为目前软件开发领域的主流技术,如我们经常听说的面向对象编程就是主要针对大型软件设计而提出的,它可以使软件设计更加灵活,并且能更好地进行代码复用。
1.1、对象
对象,是一个抽象概念,表示任意存在的事物,通常将对象划分为两个部分,即静态部分与动态部分。静态部分被称为“属性”,任何对象都具备自身属性,这些属性不仅是客观存在的,而且是不能被忽视的,如人的性别。动态部分是对象的行为,即对象执行的动作,如人的行走。
1.2、类
类是封装对象的属性和行为的载体,反过来说,具有相同属相和行为的一类实体被称为类,在Python中,类是一种抽象概念,如定义一个大雁类(Geese),在该类中,可以定义每个对象共有的属性和方法,而一只要从北方飞往南方的大雁则是大雁类的一个对象,对象是类的实例。
1.3、面向对象程序设计的特点
面向对象程序设计具有三大基本特征:封装继承多态
1.3.1、封装
封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装思想。
1.3.2、继承
在Python中,继承是实现重复利用的重要手段,子类通过继承复用了父类的属性和行为的同时,又添加子类特有的属性和行为。
1.3.3、多态
将父类对象应用于子类的特征就是多态。

2、类的定义和使用

在Python中,类表示具有相同属性和方法的对象的集合,在使用类时,需要先定义类,然后再创建类的实例,
2.1、定义类
在Python中,类的定义使用class关键字来实现,语法如下;

其中,ClassName用于指定类名,一般使用大写字母开头;statement表示类体,主要是由类变量(或类成员)、方法和属性等语句组成,如果在定义类时,没想好类的具体功能,也可以在类体中直接使用pass语句代替。
2.2、创建类的实例
class语句本身并不创建该类的任何实例,所以在类定义完成后,可以创建类的实例,即实例化该类的对象,基本语法为:

其中,ClassName是必选参数,用于指定具体的类;paramenterlist是可选参数;
例如,创建Geese类的实例;

执行代码后,显示的结果为:

2.3、创建__init__()方法
例如,以大雁为例声明一个类,并且创建__init__()方法,代码如下:

运行代码,输出的内容为;

在__init__()方法中,除了self参数外,还可以定义一些参数,参数间使用逗号“,”进行分割,例如:

执行代码,运行结果如下所示:

Python中的面向对象程序设计

运行结果为:

Python中的面向对象程序设计

运行结果如图:

Python中的面向对象程序设计

运行结果为:

Python中的面向对象程序设计

运行结果为:

Python中的面向对象程序设计

4.3、派生类中调用基类的 __ init__()方法
在派生类中定义 __ init__()方法时,不会自动调用基类的 __ init__()方法。
例如:在派生类中调用基类的 __ init__()方法定义类属性。定义一个水果类Fruit(作为基类),并在该类中定义 __ init__()方法,在该方法中定义一个类属性,然后在Fruit类中定义一个harvest()方法,再创建Apple类和Sapodilla类,都继承自Fruit类,最后创建Apple类和Sapodilla类的实例,并调用harvest()方法。

执行代码,运行结果为:

Python中的面向对象程序设计

文章已被收录至官方知识档案Python入门技能树其他面向对象程序设计208335 人正在系统学习中

来源:W-weijun

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月5日
下一篇 2019年4月6日

相关推荐