位置:首页 » Python3入门教程 » Python3 面向对象:类和对象

Python3 面向对象:类和对象 [编辑]

技术始终要发展。什么是类以及它们从哪里来的呢?

1. 语句:
在计算机科学的最早期,程序员只写了命令。

2. 函数:
语句可重复使用的一个集合,有助于结构化代码,它提高了代码的可读性。

3. 类:
Classes are used to 类是用于创建函数和变量的对象。具有函数和变量。字符串就是一个对象的例子:一个字符串:book 具有函数 book.replace()和 book.lowercase()。This style is often called object oriented programming.这种风格通常被称为面向对象的编程。

Python 类

我们可以在 Python 中创建虚拟对象。虚拟对象可以包含变量和方法。一个程序从类创建可以具有许多不同的类型。如下示例:

class User:
    name = ""
 
    def __init__(self, name):
        self.name = name
 
    def sayHello(self):
        print "Hello, my name is " + self.name
 
# create virtual objects
james = User("James")
david = User("David")
eric = User("Eric")
 
# call methods owned by virtual objects
james.sayHello()
david.sayHello()

运行该程序。在这段代码中,我们有3个虚拟对象:james, david 和 eric。每个对象都是 User 类的实例。

python class: creation of objects

Python 类: 创建对象

在这个类中,我们定义 sayHello()方法,这就是为什么我们可以在每个对象中调用它。__init __()方法作为构造函数调用在创建对象时它总是最先被调用。 由类所拥有的变量,在这里是“name”。这些变量有时也被叫作:类属性。

练习:

  1. 加入 eric.sayHello()方法并运行
  2. 更改 sayHello()调用的顺序和数量
  3. 添加一个方法 sayBye()显示  “Goodbye”
  4. 更改 User(“James”) 内部文本,并看看会发生什么
  5. 创建新的虚拟对象:Brian, Tamara 和 Abbey,并让他们打个招呼

让我们继续,可以创建类的方法以更新对象的内部变量。这看起来可能有点不太明白,下面会用一个例子来说明。

类变量

我们定义一个类CoffeeMachine其中的虚拟对象保存咖啡豆的量和水的量。两者都定义为一个数字(整数)。然后,我们可以定义方法来添加或删除豆。

    def addBean(self):
        self.bean = self.bean + 1
 
    def removeBean(self):
        self.bean = self.bean - 1

我们对变量 water 做做同样设置。如下图所示:

class CoffeeMachine:
    name = ""
    beans = 0
    water = 0
 
    def __init__(self, name, beans, water):
        self.name = name
        self.beans = beans
        self.water = water
 
    def addBean(self):
        self.beans = self.beans + 1
  
    def removeBean(self):
        self.beans = self.beans - 1
 
    def addWater(self):
        self.water = self.water + 1
    
    def removeWater(self):
        self.water = self.water - 1
 
    def printState(self):
        print "Name  = " + self.name
        print "Beans = " + str(self.beans)
        print "Water = " + str(self.water)
 
pythonBean = CoffeeMachine("Python Bean", 83, 20)
pythonBean.printState()
print ""
pythonBean.addBean()
pythonBean.printState()

运行该程序。代码的顶端部分定义了我们所描述的类。下面的代码是用于创建虚拟对象。在这个例子中,我们有一个对象叫作: “pythonBean”.  然后我们在内部的方法将变量改变,因为我们在类中定义方法。输出结果如下:

Name  = Python Bean
Beans = 83
Water = 20
 
Name  = Python Bean
Beans = 84
Water = 20

练习:

  1. 调用方法 addBean() 多次
  2. 更改机器的名称
  3. 创建多个咖啡机
  4. 改变水量(别忘了打印)
  5. 创建一个类 telephone 以及虚拟对象Phone1 和 Phone2 修改电池的量。

如果遇到困难或有任何疑问,请随时发表评论。