跳至主要內容

14. class

Ryan原创...大约 2 分钟pythonpython编程教程

1. 类的定义

将程序任务涉及到的事物抽象为一个个的对象以这些对象为中心来写程序

类、实例 封装、继承、多态

  • 什么是类,什么是实例?

​ 狗是某一类动物,他们具有相同、相似的属性 ​ 我家有一只狗,叫旺财 ​ 你家有一只狗,叫大黄 ​ 他们都有四条腿,一条尾巴 ​ 旺财和大黄被生出来后,互相不会影响旺财吃胖了,体重增加了不会影响大黄 ​ 如果某一天上帝决定给狗这个种类的生物都增加一条尾巴那么旺财和大黄会同时变成两条尾巴

​ 其中:

​ 狗——

​ 旺财——狗这个类的实例

​ 大黄——狗这个类的实例

​ 如果某一天上帝决定给狗这个种类的生物都增加一条尾巴那么旺财和大黄会同时变成两条尾巴——修改类会影响所有的实例

​ 旺财和大黄被生出来后,互相不会影响旺财吃胖了,体重增加了不会影响大黄——修改某个实例里的属性不会影响其他类

  • 一个例子:现在的方法
dog_x = 0
cat_x = 0
elephant_x = 0
snake_x = 0

def dog_move():
    global dog_x
    dog_x += 10

def cat_move():
    global cat_x
    cat_x += 10

def elephant_move():
    global elephant_x
    elephant_x += 10
    
def  snake_move():    
	global snake_x
    snake_x += 10
    
    
user_input = input()
if user_input == 'move':
    dog_move()
    cat_move()
    elephant_move()
    snake_move()

它们都是高度相似的,那我们是不是可以帮它们归为一类呢?

class Animal():

    def __init__(self):
        self.x = 0

    def move(self):
        self.x += 10

dog = Animal()
cat = Animal()

user_input = input()
if user_input == 'move':
    dog.move()
    cat.move()
    print('Dog positions:', dog.x)
    print('Cat positions:', cat.x)
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度