面向对象(特点)

本文介绍了面向对象编程的核心概念,包括根据模板创建类并实例化的思想,以及封装、继承和多态等特性。封装是将数据和操作这些数据的方法结合在一起,通过公有和私有方法控制访问。继承允许子类继承父类的属性和方法,而多态则指同名方法在不同对象上表现出不同行为。文章还通过银行账户的模拟案例展示了面向对象编程的实际应用。
摘要由CSDN通过智能技术生成

1.什么是面向对象?(概念)

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

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

  1. 可以重复使用(实例化类)
  2. 容易修改(只用修改类的模板)

3.面向对象的特点

  1. 封装 
  2. 继承
  3. 多态

4.类名首字母必须大写

5.面向对象的案例

 

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

2.1什么是封装?

将生活中的实物 创建一个类并实例化类 就叫封装 (概念)

创建类 + 实例化类 也叫封装

1.1向对象有一个私有方法

私有方法:定义一个函数 在函数名前面加上 __函数名

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

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

私有方法的使用:

 

1.2面向对象的公有方法

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

1.3如何区别公有方法和私有方法

看函数名前是否加了__ 。加了就是私有 没加就是公有

2.2什么是继承

1.什么是继承?

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

在我们类中什么叫继承?:子类继承父类的成员属性 和 成员方法

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

继承:不管公有还是私有 都会被继承

# 写一个类 父类
# 汽车 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
    # 私有方法 __ 算出汽车的一个最大马力 105 不要管 这个算术准不准 自己知道 别人 私有方法
    def __user(self):
        # 计算发动机最大马力
        return self.ml * 105
    # 公有方法
    def func(self):
        # 拿到最大的马力 并 赋值给a
        a = self.__user()
        print(f'汽车的最大马力{a},目前正在马路上狂奔')

# 图纸已经设计完了 只需要通过这个图纸批量造汽车
汽车 = Demo('一代奔驰','轿车', 10000, '红色' ,1.5)

汽车.func()

# 我们通过这个汽车的案例 来讲一下继承
# 有个客户说 飞鸿 你这个汽车 是不是设计的太low了点 你能不能进行升级列
# 如果说 需要对类进行一个功能添加的话 这个我们就可以使用继承

# 子类 如果说子类想继承父类 就把父类的名字写到子类函数名的括号中
class Demo2(Demo):
    # 原基础上添加一个新的功能
    def func2(self):
        print('升起尾翼飘逸')

# 实例化子类 一定也要把父类的参数带上 继承我们父类的属性和方法
第二代汽车 = Demo2('奔驰2代', '轿车', 10000, '白色' ,2.0)

# 如果访问父类的属性和方法 我们父类的方法可以被字类调用
第二代汽车.func()
# 也可以使用 最新的功能
第二代汽车.func2()






2.3什么是多态?

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

应用场景比较少,大家做了解

# 多态
# 父类
class A:
    # 定义了一个方法 公有方法
    def sound(self):
       print('我是父类a')

# 子类 在子类函数名中 加入父类的名字
class Cat(A):
    # 定义了一个方法 公有方法
    def sound(self):
        print('我是字类Cat, 喵喵喵')

# 子类 在子类函数名中 加入父类的名字
class Dog(A):
    # 定义了一个方法 公有方法
    def sound(self):
        print('我是子类Dog, 汪汪汪')

# 实例化三个类
A = A()
cat = Cat()
dog = Dog()

# 看一件神奇的事情 函数的名字admin
def admin(x):
    # x就是这个类 类中有一个方法叫sound
    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
        print('存钱成功')
    # 查询当前余额
    def func2(self):
        print(f'你当前的账户余额为:{self.money}')
    # 取钱 设置一个默认值 如果说没有传参 就不会报错
    def func3(self,data=0):
        # 如果说 当前账户余额 小于 你要取钱的金额 你就不能取
        if self.money < data:
            print('你当前账户余额不足')
        else:
            # 拿当前的余额 减去 取钱的金额data
            self.money -= data
            print('取款成功')


# 实例化一个类 飞鸿
飞鸿 = Demo('123458594', 2000)

张三 = Demo('123456', 100000)
# 查询余额
张三.func2()

李四 = Demo('45678995',200)
# 查询余额
李四.func2()
# 存款
李四.func(200)

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞鸿s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值