python 面向对象(三大特性)

python 面向对象(初级)

(思维导图 ↑)

概述:

  面向过程:根据业务逻辑从上到下垒代码.

  函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可

  面向对象:对函数进行分类和封装,让开发"更快更好更强..."

创建类和对象:

  面向对象编程是一种编程方式,此编程方式的落地需要使用"类"和"对象"来实现,所以,面向对象编程其实就是对"类"和"对象"的使用.

class Foo:

    # 创建类中的函数
def Bar(self):
print('bar')
def Hello(self,name):
print('我叫%s'% name) # 根据类Foo创建对象obj
obj = Foo()
obj.Bar() # 执行Bar方法
obj.Hello('裴杰') # 执行Hello方法

面向对象三大特性:

一.封装

封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容.所以,在使用面向对象的封装特性时,需要:

-将内容封装到某处

-从某处调用被封装的内容

# 创建类
class Foo:
def __init__(self,name,age): # 构造方法,根据类的创建对象时自动执行.
self.name = name
self.age = age def func(self):
print('姓名:%s,年龄:%s' % (self.name,self.age)) # 根据Foo创建对象
# 自动执行Foo类的 __init__ 方法
obj1 = Foo('裴杰',80)
obj2 = Foo('张博文',18)
obj1.func()
obj2.func()

二.继承

继承,面向对象中的继承和实现生活中的相同,即:子可以继承父的内容.

例如:

class Animal:
def eat(self):
print('%s 吃 ' % self.name) def drink(self):
print('%s 喝 ' % self.name) def shit(self):
print('%s 拉 ' % self.name) def pee(self):
print('%s 撒 ' % self.name) class Cat(Animal):
def __init__(self,name):
self.name = name
self.breed = '猫' def cry(self):
print('喵喵叫') class Dog(Animal):
def __init__(self,name):
self.name = name
self.breed = '狗' def cry(self):
print('汪汪叫') ######## 执行 #########
c1 = Cat('裴杰家的小黑猫')
c1.eat() c2 = Cat('裴杰家的小白猫')
c2.drink() d1 = Dog('李承家的小傻裴')
d1.eat()

三.多态

python崇尚"鸭子类型"

class F1:
pass class S1(F1):
def show(self):
print('S1.show') class S2(F1):
def show(self):
print('S2.show') def Func(obj):
print(obj.show()) s1_obj = S1()
Func(s1_obj) s2_obj = S2()
Func(s2_obj)
上一篇:python面向对象初级(七)


下一篇:Python 面向对象(初级篇)