面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可以根据需要赋予每个对象独特的个性。根据类来创建对象被称为实例化,这让你能够使用类的实例。
class Dog():
"一次模拟小狗的简单尝试"
def __init__(self,name,age):
"初始化属性name和age"
self.name = name
self.age = age
def sit(self):
"模拟小狗被命令时蹲下"
print(self.name.title() + " is now sitting. ")
def roll_over(self):
"模拟小狗被命令时打滚"
print(self.name.title()+" rolled over!")
my_dog = Dog('willie',6)#创建实例
print("My dog's name is "+my_dog.name.title()+".")
print("It is "+str(my_dog.age)+" years old.")
my_dog.sit()
my_dog.roll_over()
My dog's name is Willie.
It is 6 years old.
Willie is now sitting.
Willie rolled over!
Process finished with exit code 0
类中的函数称为方法。init()是一个特殊的方法,每当你根据Dog类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。Python调用这个__init__()方法来创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。self会自动传递,因此我们不需要传递它,只需要给最后两个形参name和age提供值。