python入门教程零基础学习

python入门教程NO.9 怎么理解面向对象编程?看我就够了!

2020-04-21  本文已影响0人  python攻城狮
python入门教程

python入门教程NO.9 怎么理解面向对象编程?看我就够了!

面向对象编程简称:OOP,是object oriented programming的缩写,它是一种python的编程思想。

到底什么是面向对象?

首先咱们来说一下面向对象的几个术语:

相信很多人看过一个美国大片---《复仇者联盟》,复仇者联盟是由:钢铁侠、美国队长、雷神、绿巨人、黑寡妇、鹰眼、洛基、尼克等超级英雄组成的一个护卫地球的超级联盟。

那么让我们用复仇者联盟来理解一下面向对象编程的术语:
class Fulian:    #用class定义了一个名为‘Fulian’的类,记得加上英文:
class Fulian:
    def __init__(self, name, hair_color):       #类的构造方法函数,用于初始化类的内部状态,为类的属性设置默认值
        self.name = name           #定义 name 属性(名字)
        self.hair_color = hair_color            #定义 hair_color 属性(头发颜色)
class Fulian:
    def __init__(self, name, hair_color):       #类的构造函数,用于初始化类的内部状态,为类的属性设置默认值
        self.name = name           #定义 name 属性(名字)
        self.hair_color = hair_color            #定义 hair_color 属性(头发颜色)
    def airship(self):           #定义一个函数,为类的函数,称为方法;它至少有一个参数 self(飞船)
        print('{}正在驾驶飞船'.format(self.name))
fulian = Fulian('美国队长', '金色头发')         #传入 name 和 hair_color 参数,实例化对象
class Fulian: 
    def __init__(self, name, hair_color):       #类的构造函数,用于初始化类的内部状态,为类的属性设置默认值
        self.name = name           #定义 name 属性(名字)
        self.hair_color = hair_color            #定义 hair_color 属性(头发颜色)
    def airship(self):           #定义一个函数,为类的函数,称为方法;它至少有一个参数 self(飞船)
        print('{}有着{},他正在驾驶飞船'.format(self.name, self.hair_color))      #调用类的属性

fulian = Fulian('美国队长', '金色头发')         #传入 name 和 hair_color 参数,实例化对象
fulian.airship()               #实例对象 fulian 调用类的方法 airship
#输出:美国队长有着金色头发,他正在驾驶飞船
class Hulk:          #定义一个绿巨人类,用变量赋值的方式给类加上属性
    skin = 'green'         #皮肤属性
    body = 'tall'        #身高属性

class Son(Hulk):          #定义绿巨人的儿子类,括号里填上父类名,继承父类的属性和方法
    pass

son = Son()
print(son.skin)          #输出:green
class Hulk:          #定义一个绿巨人类,用变量赋值的方式给类加上属性
    skin = 'green'         #皮肤属性
    body = 'tall'        #身高属性

class Son(Hulk):          #定义绿巨人的儿子类,括号里填上父类名,继承父类的属性和方法
    skin = 'white'            #改变基因,变回白色皮肤

son = Son()              #类的实例化
print(son.skin)          #输出:white

class Arms:
    def __init__(self, name, sort, func):        
        self._name = name                        #通过在变量前加一个下划线来封装属性, 例如:self._name=name
        self._sort = sort
        self._func = func
    def fun(self):
        print('{}属于{}武器,它可以{}' .format(self._name, self._sort, self._func))

arms = Arms('雷神之锤' , '锤类' ,'发出闪电')
arms.fun()
#输出:雷神之锤属于锤类武器,它可发出闪电

在python中,用变量表示属性,用函数表示方法,因此具有相同属性和方法的一类事物就是‘类’,对象就是这这类事物中具体的一个。

更多面向对象的方法技术请点此查看

上一篇下一篇

猜你喜欢

热点阅读