zoukankan      html  css  js  c++  java
  • Python进阶之一

      希望前面两篇Pyhon的基础知识对于刚接触Python的新手有点用,接下来我会写面向对象方面的知识

      首先说一下继承吧。什么是继承呢,简单点说就是儿子继承老子的家产,比方说我们创建了一个people类这个类里面有name,有age等。

    然后我们在创建一个student类这个类里面有stuID,有class等。我们让student继承people,那么我们在调用student的时候也可以调用people

    里面的属性了。

      代码如下:

    class People:
        def __init__(self,name,age):
            self.__dict__["name"]=name
            self.__dict__["age"]=age
    
        def __setattr__(self, key, value):
            self.__dict__[key]=value
        def __getattr__(self, item):
            return self.__dict__[item]
        def show(self):
            print("我的名字是",self.name)
    
    #Student类继承People
    class Student(People):
        a=0 #这个就是静态属性
        def __init__(self,name,age,id,stuClass):
            super().__init__(name,age)
            self.__dict__["id"] = id  #实例属性
            self.__dict__["stuClass"] = stuClass
        def __setattr__(self, key, value):
            self.__dict__[key]=value
        def __getattr__(self, item):
            return self.__dict__[item]
        def show(self):
            super().show()
            print("我的年龄是", self.__dict__["age"])
    
    s=Student("hans",21,"12121",2) #类的实例化
    print(s.name)   #输出hans
    s.show()  #先执行父类在执行子类  子类重写父类的方法

    1.继承

      上面的代码比如Student就继承了People,所以Student可以调用People里面的属性和方法,上面代码上都有标注,就不在累述了。

    2.实例化

      在上面代码中s=Student()这个就是类的实例化了,括号里面写的是具体要传的参数

    3.访问修饰符(没有直接的访问修饰符)

      public   公开的 : 任何方法都可以调用

      private   私有的  : 只有自己可以访问   __xxx(在属性的前面加两个下划线)

      protected  保护 : 只有自己和子类可访问  _xxx(在属性前面加一个下划线)

    4.静态成员

      例如上面代码中a就是静态属性

      静态方法s=Student() Student.show(s) 静态方法用类名直接调用,需要传入一个实例

    5.类里面属性的get和set

      在上面代码中在Python里面直接重写getattr和setattr

    好了这篇就到这里了,如有错误请留言,谢谢:)

    
    
    

      

  • 相关阅读:
    MYSQL索引
    MYSQL 外键 on语句 多表查询
    MYSQL用户管理
    MYSQL数据类型 表基本操作 表记录增删改 单表查询
    JQuery 引用方式
    JQuery 元素操作 each循环
    Android EditText方框验证码 短信验证码攻略
    android MVP模式介绍与实战
    一些不错的Android开源音视频播放器
    Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)
  • 原文地址:https://www.cnblogs.com/GaryNie/p/8516394.html
Copyright © 2011-2022 走看看