Python3之什么是面向对象编程

#面向对象 Object-Oriented Programming
###对象
####什么是对象
对象是指现实当中的物体和实体(人,车,动物等)
####什么是面向对象
把一切看成对象,用各种丢向之间的关系来描述事务
####对象的特征

  • 对象有很多属性(名词或形容词),如年龄,姓名,性别等
  • 对象有很多行为,如学习,吃饭,睡觉,踢球等

###类
####什么是类
拥有相同属性和行为的对象分为一组,即是一个类
类是用来描述对象的工具,用类可以创建此类的对象

####类和对象实例:
车(类) ----->>宝马(京A.88888) ----->> 实例/对象
车(类) ------>>奔驰(京A.66666) ------>> 实例/对象
车(类)。。。。。

狗(类)------>>哈士奇(户籍号:00001) ------>对象
狗(类)------>>萨摩耶(户籍号:00021) ------>对象
狗(类)------>>泰迪(户籍号:00034) ------>对象

int(类) ------>>100----->对象
。。。

无论是车、狗、还是int等,都说的是一类,比如我们单纯的说狗,能具体表现到什么品种,是谁家的还是流浪的吗?很显然不能,如果说谁谁家的一条代号为001的哈士奇,这就很确定了就是那一只狗,这只狗才是我们说的-----对象

####创建类

class 类名(继承列表):
	'''类文档字符串'''
	实例方法定义
	类变量定义
	类方法定义(@classmethod)
	静态方法定义(@staticmethod)

####类的作用

  • 用来描述对象的行为和属性
  • 创建一个或多个对象(或实例)

####类的构造函数
作用:创建这个类的实例对象,并返回此实例对象的引用关系
说明:

  • 实例有自己的作用域和命名空间
  • 实例可以调用类方法和实例方法
  • 实例可以访问类变量和实例变量

###函数的初始化方法
作用:对新创建的对象添加属性
语法格式:

class 类名(继承列表):
	def __init__(self, [形参列表]):
		语句块

说明:

  1. 初始化方法名必须为__init__,别的不好使
  2. 初始化方法会在构造函数创建实例后自动调用,且将实例自身通过第一个参数self传入__init__方法
  3. 构造函数的实参通过__init__方法的参数列表传入到__init__方法中
  4. 实例化方法内如果需要return语句返回,则只返回None

举个栗子:

class Car:
    '''小汽车类'''
    def __init__(self, c ,b, m):
	    # 三个属性
        self.color = c  # 颜色
        self.brand = b  # 品牌
        self.model = m  # 型号
        
        print('初始化方法被调用')
        
    def run(self, speed):
        print('{}的{}{}正在以{}公里/小时的速度行驶'.format(self.color,self.brand, self.model, speed))

a4 = Car('红色', '奥迪', 'a6')  # 将参数传给__init__
a4.run(99)  # 调用run方法

以上栗子将a4自己传给类方法的self形参

####析构方法

class 类名(继承列表):
	def __del__(self):
		语句块

举个栗子:

class Car:
    def __init__(self, info):
        self.info = info
        print('汽车对象', info, '被创建')

    def __del__(self):
        print('汽车对象', self.info, '被销毁')

c1 = Car('BYD')
del c1  # 销毁实例 c1
L = []
L.append(Car('汽车1'))
input('请输入回车继续执行')
print('程序退出')

说明:析构方法在对象呗销毁时自动调用
python语言不建议在对象被销毁时做任何人事情。

####预制实例属性
__doct__属性:绑定一个存储实例自身的变量字典
举个栗子:

>>> dog1 = Dog()  # 创建一个对象
>>> print(dog1.__dict__)
{}
>>> dog1.color = '白色'
>>> print(dog1.__dict__)
{'color': '白色'}
>>> dog1.kinds = '哈士奇'
>>> print(dog1.__dict__)
{'color': '白色', 'kinds': '哈士奇'}

####class
绑定创建此实例的函数
作用:可以借此访问创建此实例的类
举个栗子:

>>> dog1 = Dog()
>>> print(dog1.__class__)
<class '__main__.Dog'>

>>> dog2 = dog1.__class__()  # 绑定创建此实例的类
>>> print(dog2.__class__)
<class '__main__.Dog'>

本节完

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秒不可闫M先生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值