面向对象编程(OOP)——第一部分

OOP概述

OOP是一种编程方法,这种编程方式需要使用“对象”来实现

对象的特征:

世间万物皆对象
每个对象都是唯一的
对象具有属性和行为
对象具有状态
对象分为类对象和实例对象两大类(类对象是具有相同属性和行为的实例对象的抽象)

OOP的步骤:

抽象出类对象
抽象出类对象的属性
抽象出类对象的行为
根据类对象创建实例对象
通过实例对象访问属性和方法

定义类对象的语法格式:

class 类名 (object):
#属性与方法

  • 类名首字母大写且其余字母小写
  • object表示该类对象继承来自python内置的类对象object

初识属性

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

class Cat(object):
    def _init_(self,breed,name,age,health):
        self:breed = breed   #品种
        self:name =name      #昵称
        self:age =age       #年龄
        self:health=health   #健康状况

初识类方法

行为(方法)是类中特殊的函数

def run(self):
        print("cat is running")
    def miao(self):
        print("cat is miaoing")
    def cat(self):
        print("cat is eatting")
        

根据类对象创建实例对象的语法格式为:
类名([实参])

cat = Cat("波斯猫","喵喵",1,"很好")
print(cat.breed)
print(cat.name)
print(cat.age)
print(cat.health)
cat.run()
cat.miao()
cat.eat()

实例对象属性

  • 实例属性指实例对象所绑定的属性
  • 绑定实例属性的方法有两种:
    * 在类对象的内部
    语法格式:self.属性名 = 属性值
    * 在类对象的外部
    语法格式:实例对象.属性名 = 属性值
  • 访问实例属性的方法:
    * 在类对象的内部(方法中)
    语法格式:self.属性名
    * 在类对象外部
    语法格式:实例对象.属性名
    (之所以添加前缀“self”或“实例对象”,是为了表明实例属性被哪个实例对象所绑定)

    class MyClass(object):
    def __init__(self):
        #在类对象的内部(方法中)绑定实例属性
        self.ia1 =18
    def do_sth1(self):
        #在类对象的内部(方法中)访问实例属性
        print(self.ia1)
    def do_sth2(self):
        print(self.ia2)
    def do_another(self):
        #在类对象的内部绑定实例属性
        self.ia2=56
    def do_sth3(self):
        print(self.ia3)
mc = MyClass()
mc.do_sth1()

同一个类对象的不同实例对象所绑定的实例属性是相互独立的。也就是说,给一个实例对象所绑定的实例属性,对于另外一个实例对象是不起作用的

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

类对象属性

类属性指的是类对象所绑定的属性
绑定类属性(给类对象绑定属性)的方式有两种:

  • 在类对象的内部(方法外)
    语法格式:属性名 =属性值
  • 在类对象的外部
    语法格式:类对象.属性名=属性值
    如果指定名称的类属性已经存在,则是对类属性进行修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值