面向对象初识

在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法。使用面向对象而非全局变量和函数的原因有多个,但是面向对象的好处在于:

1 多态:可以对不同类型的对象执行相同的操作,而这些操作就像“被施了魔法”一样能够正常运行。
2 封装:对外部隐藏有关对象工作原理的细节。
3 继承:可通过父类创建出多个派生类。

面向对象编程是最有效的软件编写方法之一。
在面向对象编程中,可以编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。
编写类时,你定义的一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。
使用面向对象编程可模拟现实情境,其逼真程度达到了令人惊讶的地步。

根据类来创建对象被称为实例化,这能够使用类的实例。可在实例中存储什么信息,定义可对这些实例执行的那些操作。还可以编写一些类来扩展既有类的功能,让相似的类能够高效地共享代码。

理解面向对象编程有助于像程序员那样看世界,还可以帮助你真正的明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。了解类背后的概念可培养逻辑思维,能够同规格编写程序来解决遇到的几乎任何问题。

1 创建和使用类

使用类几乎可以模拟任何东西。下面来编写一个表示小狗的简单类Dog----它表示的不是特定的小狗,而是任何小狗。
对于大多数宠物狗,我们都知道些什么呢? 它们都有名字和年龄,我们还知道小狗会蹲下和打滚。由于大多数小狗都具备上述两项相息(名字和年龄)和两种行为(蹲下和打滚),我们的Dog类将包含它们,这个类让python知道如何创建表示小狗的对象。编写这个类后,我们将使用它来创建表示特定小狗的实例。

1.1 创建Dog类

根据Dog类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下(sit())和打滚(roll_over())的能力:

dog.py

class Dog(): # *1 """一次模拟小狗的简单尝试""" # *2 def __init__(self,name,age): # *3 """初始化属性name和age""" self.name = name # *4 self.age = age def sit(self): # *5 """模拟小狗被命令时蹲下""" print(self.name.title()+ " is now sitting.") def roll_over(self): """模拟小狗被命令时打滚""" print(self.name.title() + " is rolled over!")

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzffj.html