美文网首页
类和对象

类和对象

作者: 闲云野鹤_23dd | 来源:发表于2021-01-21 19:23 被阅读0次

    面向对象

    面向对象是一种编程思想.
    面向对象 ( Object Oriented ) 是将现实问题构建关系,然后抽象成 类 ( class ),给类定义属性和方法后,再将类实例化成 实例 ( instance )(就是对象) ,通过访问实例的属性和调用方法来进行使用。

    类和对象的关系 就类似于 人类 之于 具体的某个人 , 家电之于 具体的一个冰箱, 对象就是类的实例化

    面向对象的三大特征:封装、继承、多态。

    创建类

    语法:

    class 类名(父类名):
       ...
    
    

    父类名可以不写: 默认继承object
    可以在class 里面写类的方法和属性

    类中的 init 为创建对象时调用的方法,叫做初始化方法.(注意方法前后是双下划线)
    前后双下滑线的方法是类的专有方法,有特殊含义:

    类的专有方法:
    __init__ : 构造函数,在生成对象时调用
    __del__ : 析构函数,释放对象时使用
    __repr__ : 打印,转换
    __setitem__ : 按照索引赋值
    __getitem__: 按照索引获取值
    __len__: 获得长度
    __cmp__: 比较运算
    __call__: 函数调用
    __add__: 加运算
    __sub__: 减运算
    __mul__: 乘运算
    __truediv__: 除运算
    __mod__: 求余运算
    __pow__: 乘方
    __str__: 转换字符串
    
    

    例子:

    class MyClass:
       """一个简单的类实例"""
        i = 12345
        def f(self):
            return 'hello world'` 
    
    image.png
    # 声明一个类  语法:  class 类名(父类名):
    class Human(object):
        # __init__ : 类的初始化方法
        # self : 代表类的本身 ,name,age,sex 初始化的时候 要用到的参数
        def __init__(self,name,age,sex):
            # self.name = name : 把方法中的参数 绑定给 类的属性
            self.name = name
            self.age = age
            self.sex = sex
    
    # 类中的方法 必须包含self 参数
    def eat(self):
        print(self.name+'在吃饭 ')
    
    def sleep(self):
        print(self.name+'在睡觉')
    
    # 类中的方法,可以调用其他方法,可以调用属性,除了init 方法
    def info(self):
        print('这个人叫%s,今年%s岁,性别: %s'%(self.name,self.age,self.sex))
        self.eat()` 
    

    对象

    创建对象语法:

    对象名 = 类名(初始化属性)
    
    

    调用对象

    if __name__ == '__main__':
        # 新建一个对象 , 根据 Human 类 新建对象
        # 对象是 类的 实例化
        boy = Human('小海豚', 28, '女')
        # 可以通过对象去调用类的方法和属性
        boy.eat()
        boy.sleep()
        boy.info()
        print(boy.name)
    
    
    #练习:
    创建一个Car类,有三个属性name,no,speed, 编写三个方法:
    show():输出每一个属性的值
    start(): 启动,speed=100,输出车名,启动了
    run(): 行驶,输出车名和当前速度
    stop(): 刹车,speed=0,输出车名,刹车当前速度
    
    创建一个car对象,依次 调用show(),start(),run(),stop()方法
    
    # start(): 启动,speed=100,输出车名,启动了
        def start(self):
            self.speed=100
            print("%s启动了"%(self.name))
    #run(): 行驶,输出车名和当前速度
        def run(self):
                print("%s行驶了,当前速度%skm/h" % (self.name,self.speed))
    #stop(): 刹车,speed=0,输出车名,刹车当前速度
        def stop(self):
           self.speed=0
           print("%s刹车了,当前速度%skm/h" % (self.name,self.speed))
    #创建一个car对象,依次 调用show(),start(),run(),stop()方法
    if __name__ == '__main__':
        # 根据类名新建对象
        car=Car('jeep轿车','沪A1111',0)
    # 通过对象去调用类的方法和属性
        car.show()
        car.start()
        car.run()
        car.stop()

    相关文章

      网友评论

          本文标题:类和对象

          本文链接:https://www.haomeiwen.com/subject/ohlyoktx.html