zoukankan      html  css  js  c++  java
  • Python-类

    类是由一系列属性和方法组成

    对象的创建就是类实例化的过程

    三个特性:

    1.对象的句柄,区分不同的对象

    2.属性:

    共有属性

      类属性(共有的属性分离出来):它属于类,也属于对象,建议使用类调用

      实例属性:它只属于对象

      局部变量

    私有属性

    3.方法

    构造函数:一个类,不管是否写了构造函数,它都是有构造函数的

         一个类,可以有多个构造函数,建议一个类只有一个构造函数

      1.初始化属性

    析构函数:对象实例化——>构造函数——>对象调用方法——>代码跳转到具体的方法——>执行方法的代码块——>析构函数

    特性方法:

    class Person(object):
    @property
    def getUserID(self):
    pass
    per = Person()
    per.getUserID


    '''
    静态方法:直接使用类名来进行调用,它属于类
    对象也可以调用静态方法,但是一般不建议这样做
    '''
    class Person(object):
    @staticmethod
    def conn():
    pass
    Person.conn()

    '''
    类方法:直接使用类来进行调用,属于类
    '''
    class Person(object):
    @classmethod
    def conn(cls):
    pass



    属于类:类属性、静态方法、类方法
    属于对象:实例属性、普通方法、特性方法
    '''类属性的继承'''
    class Person(object):
    china = u'地球'
    class UsaPerson(Person):
    pass
    per = UsaPerson()
    per.china


    '''实例属性的继承和继承的两种写法'''
    class Fruit(object):
    def __init__(self,name):
    self.name = name
    class Apple(Fruit):
    def __init__(self,name,brand,color):
    Fruit.__init__(self,name)或者 super(Apple,self).__init__(name)
    self.brand= brand
    self.color = color

    def info(self):
    print u"名称:",self.name + u"品牌:",self.brand + u'颜色:',self.color
    apple = Apple(u'苹果',u'品牌',u'红色')
    apple.info()


    class Fruit(object):
    def __init__(self,name):
    self.name = name
    '''子类由于业务的需求,不需要继承父类的实例属性'''
    class Apple(Fruit):
    def __init__(self,brand,color):

    self.brand= brand
    self.color = color

    def info(self):
    print u"品牌:",self.brand + u'颜色:',self.color
    apple = Apple(u'品牌',u'红色')
    apple.info()

    '''方法的继承'''
    class Fruit(object):
    def eat(self):
    print u'水果可以吃的'
    class Apple(Fruit):
    pass

    apple = Apple()
    apple.eat()


    子类为什么重写父类的方法:子类有自己的特性
    当子类重写了父类的方法,对子类进行实例化后,子类调用的方法(父类、子类都存在),执行的方法是子类的方法
    class Fruit(object):
    def eat(self):
    print u'水果可以吃的'
    class Apple(Fruit):
    def __init__(self,color):
    self.color = color
    def eat(self):
    print u'颜色是'+self.color +u'的时候可以吃'

    apple = Apple(u'红色')
    apple.eat()



     

      

  • 相关阅读:
    AndroidStudio小技巧--依赖库
    仿iOS Segmented Control样式"
    Metaweblog在Android上使用
    正则表达式使用技巧
    flask中gunicorn的使用
    Git用法小记
    指定GPU训练模型
    python中grpc的使用示例
    如何用LaTex编辑数学公式
    keras使用多进程
  • 原文地址:https://www.cnblogs.com/hyzhang/p/10760591.html
Copyright © 2011-2022 走看看