面向对象编程

面向对象编程概述

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

对象的特征

  1. 世间万物皆对象
  2. 每个对象都是唯一的
  3. 对象具有属性和行为
  4. 对象具有状态
  5. 对象分为类对象和实例对象两大类

面向对象编程的大体步骤

  1. 抽象出类对象
  2. 抽象出类对象的属性
  3. 抽象出类对象的行为(方法)
  4. 根据类对象创建实例对象
  5. 通过实例对象访问属性和方法

定义类对象的语法格式:

class 类名 (object):#属性与方法
class Cat(object):
def init(self,breed,name,age,health):
self.breed = breed #品种
self.name = name #昵称
self.age = age #年龄
self.health = health #健康状况

为了在创建实例对象后对其进行初始化(例如:给实例对象绑定一些属性) ,可以在类对象中定义一个名为_ init 的特殊方法(以双下划线_开头和结尾的方法) 。这样,创建实例对象后就会自动调用特殊方法init

  如果没有定义特殊方法__ init__, 或者定义了特殊方法_ init_ 但是没有定义除self之 外的形参,那么根据类对象创建实例对象时就不需要传入实参。

  如果在类对象中定义了特殊方法_ init__, 那么对于"类名([实参])", 会执行两大步:
  1.创建实例对象
  2.自动调用创建的实例对象的特殊方法_ init_ (创建的实例对象会作为实参 被自动传递给特殊方法___init_ 的第-1个形参self)。

类对象属性

实例属性指的是实例对象所绑定的属性。
绑定实例属性(给实例对象绑定属性)的方式有两种:
1.在类对象的内部(方法中)
语法格式:self.属性名=属性值
推荐在特殊方法_init_中进行绑定,这样,在创建实例对象后就会自动调用特殊方法_init_对实例对象进行初始化,从而绑定实例属性。如果在其它方法中进行绑定,可能需要手动调用方法后
才会绑定。
2.在类对象的外部
Python是动态语言,所以,在实例对象创建之后,可以对其动态地绑定属性。
语法格式:实例对象.属性名=属性值
如果指定名称的实例属性已经存在,则是对实例属性进行修改。

访问实例属性的方式有两种:
1.在类对象的内部(方法中)
语法格式:self.属性名
2.在类对象的外部
语法格式:实例对象.属性名

实例对象 ._ dict _
可获得该实例对象所绑定的所有属性及其值的字典

类对象属性

➢类属性
类属性指的是类对象所绑定的属性。
绑定类属性(给类对象绑定属性)的方式有两种:
1.在类对象的内部(方法外)
语法格式:属性名=属性值
2.在类对象的外部
Python是动态语言,所以,在类对象创建之后,可以对其动态地绑定属性。语法格式:类对象.属性名=属性值
如果指定名称的类属性已经存在,则是对类属性进行修改。
访问类属性的方式有两种:
1.在类对象的内部(方法中)
语法格式:类对象.属性名
2.在类对象的外部
语法格式:类对象.属性名或:实例对象.属性名
类对象的所有实例对象都有-个指向类对象的指针,所以,类对象的所有实例对象都可以访问类属性。之所以添加前缀"类对象",是为了表明类属性被哪个类对象所绑定。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值