python面向对象

面向对象

1.什么是面向对象?

(白话)根据模板(创建一个类)并实例化,这个思路就是面向对象

2.使用面向对象编程的好处

1.可以重复使用(实例化类)

2.易于修改(只需要修改类的模板)

3.面向对象的特点

1.封装

2.继承

3.多态

4.面向对象的案例(类名首字母必须大写)

二、面向对象特点、封装、多态、继承

2.1什么是封装

 将生活中的实物,创建一个类,然后实例化类就叫封装

创建类,然后实例化类也叫封装

1.1面向对象有一个私有方法

定义一个函数,在函数名前加上__:__函数名

私有方法作用:只能在函数内使用

应用场景:后面的案例会讲到

私有方法的使用:

 

1.2面向对象的公有方法

公有方法:在任意地方都可以被使用

1.3如何区别公有和私有

看函数名前是否加了__加了就是私有,否则就是公有

2.2什么是继承

1.什么是继承?

从字面上来讲:儿子继承父亲的基因和遗产就是子承父业

2.在类中什么叫继承:

子类继承父类的成员属性和成员方法

3.如何继承:

如果说子类想继承父类,就把父类的名字写到子类的括号中

4.继承的东西:

私有成员和公有成员

class Demo():
    def __init__(self, name, typename, money, color, ml):
        self.name = name
        self.typename = typename
        self.money = money
        self.color = color
        self.ml = ml
    def  __user(self):
        return self.ml * 105
    def func(self):
        a = self.__user()
        print(f"汽车的最大马力是{a}")
汽车 = Demo('一代奔驰', "轿车", 10000, 'red', 1.5)

汽车.func()
# 继承
class Demo2(Demo):
    def func2(self):
        print('升起尾翼飘逸')

汽车2 = Demo2('二代奔驰', '轿车', 10000, 'white', 2.0)
汽车2.func()
汽车2.func2()

2.3什么是多态

多种状态,即完成某个行为时,使用不同的对象会得到不同的状态。

应用场景比较少,做了解

# 多态
# 父类
class A():
    def sound(self):
        print('我是父类a,hhh')


class Cat(A):
    def sound(self):
        print('我是子类Cat,喵喵喵')


class Dog(A):
    def sound(self):
        print('我是子类Dog,汪汪汪')

cat = Cat()
dog = Dog()
A = A()

def admin(x):
    x.sound()

admin(cat)
admin(dog)
admin(A)
# 这样一个过程就叫多态
# 我们在调用函数的时候 传入不同的类 可以输出不同的结果  多态 了解

实战案例(开发应用场景)

模拟一个应用场景

模拟银行账户:使用类来模拟银行账户,每个账户存取款,查询余额等操作

# 模拟银行账户:使用类来模拟银行账户,每个账户存取款,查询余额等操作
# 因为很多人都要来查询 存取款
# 所以采用面向对象的方法
class Demo():
    def __init__(self, value, money):
        # 卡号:
        self.value = value
        # 余额:
        self.money = money
        # 存钱
    def func(self, data = 0):
        self.money += data
        # 查询当前余额
    def func2(self):
        print(f'你当前的账户余额为:{self.money}')
        # 取钱
    def func3(self, data = 0):
        '''
        如果 当前账户余额 小于 要取的金额 就不能取钱
         :param data: 余额
        '''
        if self.money < data:
            print('你当前的账户余额不足')
        else:
            self.money -= data
            print('取款成功')

# 实例化一个类
first = Demo('258369147', 0)
# 存钱
e = int(input('存入的金额为:'))
first.func(e)
# 查询
first.func2()
# 取钱
q = int(input('取走的金额为:'))
first.func3(q)
# 查询
first.func2()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值