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()



     

      

  • 相关阅读:
    iOS:解决打包可能会出现环境错误问题
    iOS:关于self.perfrom(:_, with: afterDelay: )不执行问题
    docker容器中安装vi命令
    java-1 基础一
    java-0 重拾java
    柯里化函数的实现
    flex布局最后一行列表左对齐的N种方法
    【第一弹】微服务认证与授权企业级理解
    MySQL性能优化(慢查询日志、Explain执行计划、show profile、MySQL服务优化)
    MySQL锁详解
  • 原文地址:https://www.cnblogs.com/hyzhang/p/10760591.html
Copyright © 2011-2022 走看看