Python学习笔记三(面向对象)

传送门:

python及pycharm安装配置-CSDN博客

Python学习笔记(一)-CSDN博客

Python学习笔记(二)-CSDN博客

Python学习笔记四(面向对象)-CSDN博客

目录

一、面向对象

1、类和对象

1.1相关术语

1.2定义类

1.3构造方法

1.4 构造方法分类

1.4.1无参的构造方法

1.4.2有参的构造方法  

 1.5 类方法

 1.6 静态方法

1.7私有 

1.8 properyt函数

1.9总结 

2、封装

2.1什么是封装

2.2封装的优点


一、面向对象

终于到了最重要的部分之一了,很多人肯定都听说过面向对象编程,除了这个之外,还有面向过程编程,python是面向对象编程的,在python中,一切皆对象。

面向对象编程是在面向过程编程的基础上发展而来的,它比面向过程编程具有更强的灵活性和扩展性,是一种对现实世界理解和抽象的方法,对象的含义是指在现实生活中能够看得见摸得着的具体事物。

可以说面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程,我当时学的也挺痛苦,不过正因为如此,我知道怎么学比较简单易理解,大家不用担心。

Python 类具有封装、继承、多态 3 大特性,接下来我们一一介绍。

 面向对象编程(Object-oriented Programming,简称 OOP),是一种封装代码的方法。其实,在前面我们已经无形中接触了封装,比如说,将各种数据放进列表中,这就是一种简单的封装,是数据层面的封装;

从某种程序上,相比较只用变量或只用函数,使用面向对象的思想可以更好地模拟现实生活中的事物。在 Python 中,所有的变量其实也都是对象,包括整形(int)、浮点型(float)、字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。

可能看这么多概念已经开始头疼了,那么接下来我们举个栗子。

我们现在需要设计一只鸟,那么鸟从外观特征来看,有颜色,体重等。从行为动作上来看,有跳,飞,吃东西,睡觉等。那么将其用代码表示,外观特征可以用变量表示,行为特征可以用函数表示,即:

class Bird:
    bodyColor = "黄色"
    weight = 10

    #会跳
    def jump(self):
        print("鸟会爬")
    #会吃东西
    def eat(self):
        print("鸟吃东西")
    #会睡觉
    def sleep(self):
        print("鸟在睡觉")
    #会飞
    def fly(self):
        print("鸟在飞翔")

1、类和对象

1.1相关术语

类:可以理解是一个模板,通过它可以创建出无数个具体实例。比如,前面编写的Bird表示的只是鸟这个物种,通过它可以创建出无数个实例来代表各种不同特征的鸟(这一过程又称为类的实例化)。

对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。这有点像图纸和产品的关系,图纸本身(类)并不能为人们使用,通过图纸创建出的一个个产品(对象)才能使用。

属性:类中的所有变量称为属性。例如,Bird这个类中,bodyColor、weight都是这个类拥有的属性。

方法:类中的所有函数通常称为方法。不过,和函数所有不同的是,类方法至少要包含一个 self 参数(后续会做详细介绍)。例如,Bird类中,jump()、eat()、sleep()、flyt() 都是这个类所拥有的方法,类方法无法单独使用,只能和类的对象一起使用。

1.2定义类

Python 中类的定义使用 class 关键字(参考上文鸟的例子)