Python面向对象

Python面向对象

1.定义

面向对象:把数据和动作内嵌到一个结构体(函数或类)里,就有了一个‘对象系统’(对象就是数据与函数整合在一起的产物)

:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念。

对象:就是基于类而创建的一个具体的事物(具体存在的),也是特征和动作整合到一起。

面向对象设计(Object oriented design):将一类具体事物的数据和动作整合到一起,即面向对象设计。面向对象设计既可以用面向对象语言实现,也可以用面向过程语言实现。

面向对象编程(Object oriented programming):用面向对象编程独有的class语法实现面向对象设计,即面向对象编程。

用面向对象语言写程序,和一个程序设计是面向对象的,两者间并没有任何关系。

面向对象语言:提供了丰富的class方面的方法支持。)

2.实现

# 定义一个学生,有姓名,性别,年龄,班级属性,有学习方法
  • 面向过程语言实现面向对象设计
def student(name, gender, age, class_no):
    def init():
        student_property = {
            'name': name,
            'gender': gender,
            'age': age,
            'class_no': class_no,
            'learn': learn
        }
        return student_property

    def learn(student_property):
        print('%s的%s同学正在学习,他今年%d岁' % (student_property['class_no'], student_property['name'], student_property['age']))

    return init()


xiaoming = student('小明', '男', 18, '高三2班')
xiaoming['learn'](xiaoming)

执行的结果:

高三2班的小明同学正在学习,他今年18
  • 面向对象语言实现面向对象设计
class Student(object):

    def __init__(self, name, gender, age, class_no):
        self.name = name
        self.gender = gender
        self.age = age
        self.class_no = class_no

    def learn(self):
        print('%s的%s同学正在学习,他今年%d岁' % (self.class_no, self.name, self.age))


xiaoming = Student('小明', '男', 18, '高三2班')
# xiaoming.learn()等价于下面这句话
Student.__dict__['learn'](xiaoming)

执行的结果:

高三2班的小明同学正在学习,他今年18岁
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值