第十章 面向对象

第十章 面向对象

面向过程与面向对象

面向过程:

  • 注重算法、步骤,在微观上操作细节
  • 如把大象放进冰箱-3步:打开冰箱、放大象、关冰箱

面向对象:

  • 宏观上把控,每个对象各行其事
  • 把大象放进冰箱-大象、冰箱分别做什么事

面向过程和面向对象不是相互对立的,是相辅相成的。

支持面向对象的编程语言:C++,C#,Python,Javascript

面向对象思想:

  • 用语言模拟现实世界
  • 万事万物皆对象。对象是一个真实的存在。
  • 例如:张三
    • 静态的特征:姓名,年龄,性别,身份证号,电话号
    • 动态的特征:(动作,行为,功能,能力等):上课、写作业
  • 对象就是静态特征和动态特征的结合体。
  • 人会自然而然的对事物进行归类。具有相同静态特征和动态特征的对象称为类。

类和对象之间的关系:

  • 类是抽象的,对象是具体的
  • 类是一个集合,对象是一个个体
  • 类和对象不是局部的关系
  • 编程时,类当作一种数据类型。有类型创建出来的对象叫实例

面向对象的思路:

  1. 抽象出类

  2. 抽象出对象跟业务相关的静态特征:属性:name,age,phone

    抽象出对象跟业务相关的动态特征:方法:gotoclass() run() eat()

  3. 创建对象–实例化对象

    对象.属性 对象名。方法()

面向对象的使用:

class Student:
    def __init__(self, name, age):
        self.stu_name = name #实例属性
        self.stu_age = age
    #实例方法
    def show(self):
        print(self.stu_name+"\t"+str(self.stu_age))

# 实例化对象 对象名=类名()
stu = Student('张三',21)
print(stu.stu_name)
stu.stu_name='张伟' #重新赋值
print(stu.stu_name)
stu.show()
class Dog:
    def __init__(self,name,lei):
        #self 当前对象,类似java中的this
        self.name=name
        self.lei=lei
    def show(self):
        print(self.name+"\t"+self.lei)

hasiqi = Dog("廖铖","哈士奇")
hasiqi.show()

python支持动态属性

# 使用
# 定义一个MP3类 属性:品牌 方法:下载音乐、播放下载的音乐
class MP3:
    def __init__(self,brand):
        self.brand=brand

    def download(self):
        return '稻香'

    def play(self):
        print(self.brand+"正在播放"+self.download(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值