博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Python]从零开始学python——Day07 面向对象
阅读量:5827 次
发布时间:2019-06-18

本文共 1814 字,大约阅读时间需要 6 分钟。

hot3.png

1.属性方法

1.1 私有属性: 用2个下划线表示__

class student:    __name = "xiaoming"    __sex = "man"    __age = "15"    def getName(self):        return self.__name    def setName(self,name):        self.__name = names = student()s.setName("xiaohong")print(s.getName())

1.2 self

可以把它当做C++中类里面的this指针一样理解,就是对象自身的意思,在用某个对象调用该方法时,就将该对象作为第一个参数传递给self。

1.3 构造

init()构造方法,创建对象

class student:    def __init__(self):        self.__name = "xiaoming"        self.__sex = "man"        self.__age = 15    def getName(self):        return self.__name    def setName(self,name):        self.__name = names = student()s.setName("xiaohong")print(s.getName())

1.4 析拆

del()析构方法

删除实例化的对象

class friend():    def __init__(self):        self.__name = "putao"        self.__location = "jiapali"    def __del__(self):        print("删除对象")    def getName(self):        return __name__putao = friend()del putaoprint(putao.getName())

1.5 继承

class 子类(父类)

class people:    name = 'human'    def sleep(self):        print(self.name, "sleep")class chinese(people):    def eat(self):        print(self.name, "eat")c = chinese()c.sleep()   #human sleepc.eat()     #human eatc.name = "xiaoMing"c.sleep()   #xiaoMing sleepc.eat()     #xiaoMing eat

1.6 多继承

class 子类(父类A,父类B)

如果有父类有相同方法,A优先调用

子类覆写父类方法,子类方法优先调用

1.7 类属性和实例属性

类属性:直接用类对象调用的属性

实例属性:实例对象调用的属性

1.8 静态方法和类方法

1.8.1 类方法

类方法传入类本身作为参数cls

使用注解@classmethod

类方法可以动态配置

class Color():    __color = (0,0,0)    @classmethod    def getColor(cls):        if cls.__name__ == 'Red':            cls.__color = (255,0,0)        elif cls.__name__ == 'Green':            cls.__color = (0,255,0)        return cls.__colorclass Red(Color):    passclass Green(Color):    passprint(Red.getColor())       # (255, 0, 0)print(Green.getColor())     # (0, 255, 0)

注解在类的静态方法上, 静态方法只能用类对象访问

转载于:https://my.oschina.net/u/3371784/blog/1560590

你可能感兴趣的文章
jboss5配置文件路径
查看>>
centos 6.2安装bind 9.8.2 master、slave与自动修改后更新
查看>>
系统监控工具----Inotify-Tools
查看>>
【翻译】Ext JS最新技巧——2014-5-12
查看>>
syslog-ng学习心得
查看>>
读书笔记-娱乐至死
查看>>
C++中STRING转为INT (转)
查看>>
ASP.NET上传多个文件
查看>>
学习:UTF-8和GBK的区别
查看>>
Shape parameter 形状参数
查看>>
【求助】小系统组成大系统所遇到的问题
查看>>
js 中英文字符串长度
查看>>
ERP/MIS系统中集成命令行式的功能调用
查看>>
一起谈.NET技术,详解ADO.NET连接池
查看>>
让xp系统(win2003系统)支持搜索文件内容
查看>>
Audactiy 和 Sox
查看>>
利用Ajax实现长连接(模拟推送,半长连接)
查看>>
mysql之set、enum的认识
查看>>
Java-Properties类的使用
查看>>
HBase性能优化方法总结(一):表的设计
查看>>