python 23 面向对象

1.面向对象
面向过程:根据业务逻辑从上到下写代码
面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程,
面向对象编程是把对象当作程序的基本单元,一个对象包含数据(属性)和操作数据的方法

2.定义类
类就是创建对象的模板

3.例子

class Car:                 #创建一个类,类名首字母大写
    def move(self):        #创建方法
        print('车在疾驰')
    def toot(self):        #创建方法
        print('车在鸣笛')
BMW=Car()                  #创建对象(实例化)
BMW.move()                 #调用方法
BMW.toot()
BMW.color='白色'            #定义属性
BMW.wheelnum=4              #定义属性
print(BMW.color)            #调用属性
print(BMW.wheelnum)         #调用属性

bc=Car()                    #创建对象(实例化)
bc.toot()                   #调用方法
bc.color='黑色'             #定义属性
print(bc.color)             #调用属性

初始化,一个类里只能用一次初始化

class Dog():                #传入参数时加括号
    def __init__(self):     #初始化
        print('正在创建对线并被初始化')
        self.DogName='金毛' #定义属性
        self.color='黄色'
    def behavior(self):     #定义方法
        print('在汪汪叫')
dog=Dog()                   #创建对象(实例化)
print(dog.color)            #调用属性
print(dog.DogName)          #调用属性
dog.behavior()              #调用方法

初始化传参

class Dog():                #传入参数时加括号
    def __init__(self,DogName,color='黑色'):     #初始化,传参数
        print('正在创建对线并被初始化')
        self.DogName=DogName #定义属性
        self.color=color
    def behavior(self):     #定义方法
        print('在汪汪叫')
dog=Dog('小狗')                   #创建对象(实例化)
print(dog.DogName)
print(dog.color)

4.继承概念

#创建父类
class Cat:  #创建一个类,现在可以看做父类
    def __init__(self,name,color='白色'):   #定义属性
        self.name=name
        self.color=color
    def run(self):                         #定义方法
        print('%s在奔跑'%self.name)        #定义方法

#继承就是创建一个父类与子类,子类能使用父类的一切方法与属性,而父类美不使用子类的属性和方法
class Bosi(Cat):                           #创建一个子类,不能写__init__了
    def setname(self,newname,character):   #没有被初始化,传入属性参数时,必须重新传入
        self.name=newname                  #定义属性
        self.character=character
    def eat(self):
        print('%s的%s在吃东西'%(self.name,self.character))

cat=Cat('动物')                 #创建父类对象
cat.run()                       #调用父类方法
print(cat.color)                #调用父类属性

bosi=Bosi('波斯猫','可爱')      #创建子类对象
bosi.run()                      #子类调用父类方法
print(bosi.name,bosi.color)
bosi.setname('波斯猫','可爱')   #再次传入属性
print(bosi.eat)      #调用子类方法

5.私有化方法和属性
前面加两个_(__)

6.多继承
一个子类可以继承多个父类

class First:                   #创建第一个类
    def __init__(self,name):
        self.name=name         #定义属性
    def one(self):
        print('a')             #定义方法
class Second:                  #创建第二个类
    def tow(self,color):
        self.color=color       #定义属性
    def sri(self):             #定义方法
        print('hahaha')
class Third(First,Second):     #创建子类
    pass

thi=Third('小明')                    #创建子类对象
print(thi.name)                      #调用第一个类的属性
thi.one()                            #调用第一个类的方法
thi.tow('黑色')                      #第二个类,属性传参
print(thi.color)                     #调用第二个类的属性
thi.sri()                            #调用第二个类的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值