Python面向对象编程

面向对象编程(OOP),是一种编程方式,这种编程方式需要使用“对象”来实现。

一、对象的特征:

1、世间万物皆对象。 问题领域中的概念和实体都可以被抽象为对象。
2、每个对象都是唯一的。
3、对象具有属性和行为。 对象的行为包括具有的功能及具体实现。
4、对象具有状态。 状态是指某个瞬间对象的各个属性的取值。
5、对象分为类对象和实例对象两大类。

  • 类对象是具有相同属性和行为的实例对象的抽象。
  • 类对象就是实例对象的模板,实例对象是由类对象创建出来的。

二、面向对象编程的大体步骤

1、抽象出类对象
2、抽象出类对象的属性
3、抽象出类对象的行为(方法)
4、根据类对象创建实例对象
5、通过实例对象访问属性和方法
定义方式: class类名(odject): #属性与方法

  • 类名由一个或多个单词组成,每个单词的首字母大写且其余字母全部小写。
  • (odject)表示该类对象继承自Python内置的类对象object,Python中所有的类对象都集成子一个统一的基类:object。
    在这里插入图片描述

为了在创建实例对象后对其进行初始化,例如给实例对象绑定一些属性,可以在类对象中定义一个名为__init__的特殊方法。这样,创建实例对象后就会自动调用特殊方法__init__。

如果在类对象中定义了特殊方法__init__,那么对于“类名([实参])”,会执行两大步:
1、创建实例对象
2、自动调用创建的实例对象的特殊方法__init__(创建的实例对象会作为实参被自动传递给特殊方法__init__的第一个形参)

类的方法与函数的区别:
  • 定义方法时,方法的第一个形参表示调用该方法的实例对象,第一个形参的名称通常是self,也是可以是其他名称。
  • 调用方法时,系统自动将调用该方法的实例对象作为实参传递给第一个形参,第一个实参会传递给第二个形参,第二个实参会传给第三个形参,以此类推。

三、实例对象属性

实例属性指的是实例对象所绑定的属性。

绑定实例属性的方式:

1、在类对象内部
语法格式:self.属性名 = 属性名

推荐在特殊方法__init__中进行绑定,这样,在创建实例对象后就会自动调用特殊方法__init__对实例对象进行初始化,从而绑定实例属性。
2、在类对象外部
语法格式:实例对象.属性名 = 属性名

在实例对象创建后,可以对其进行动态的绑定属性。如果指定名称的实例属性已经存在,则是对实例属性进行修改。

访问实例属性的方式:

1、在类对象内部
语法格式:self.属性名
2、在类对象外部
语法格式:实例对象.属性名

注:之所以添加前缀“self”或“实例对象”,是为了表明实例属性被哪个实例对象所绑定。
在这里插入图片描述同一个类对象的不同实例对象所绑定的实例属性是相互独立的,给一个实例对象所绑定的实例属性对另一个实例对象是不起作用的。

实例对象.__ dict __

可获得该实例对象所绑定的所有属性及其值的字典。
__dict__返回一个字段dict,每对key:value中的key是属性名称,value是相应的属性对象的数据值。

四、类对象属性

类属性指的是类对象所绑定的属性。

绑定类属性的方式:

1、在类对象内部
语法格式:属性名 = 属性名
2、在类对象外部
语法格式:类对象.属性名 = 属性名

类对象也可以对其进行动态的绑定属性。如果指定名称的类属性已经存在,则是对类属性进行修改。

访问类属性的方式:

1、在类对象内部
语法格式:类对象.属性名
2、在类对象外部
语法格式:类对象.属性名 或 : 实例对象.属性名

类对象的所有实例对象都有一个指向类对象的指针,所以,类对象的所有实例对象都可以访问类属性。
注:之所以添加“类对象”,是为了表明类属性被哪个类对象所绑定。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值