python_面向对象(初始)
来源:互联网 发布:mac 强制重启finder 编辑:程序博客网 时间:2024/06/05 18:28
1.面向对象不是所有情况都适用
2.面向对象编程
a定义类
class Foo:
def 方法(self,bb):
pss
b根据类创建对象(创建一个类的实例)
适用对象执行对象中的方法
obj = Foo() obj创建了一个对象
3.self,形式参数,python内部传递
obj = Foo()obj.fetch('bb') ==》 self:obj , backed:“bb”
class Foo: def fetch(self,bb): print(self,bb)obj = Foo()print(obj)obj.fetch("aa")>>><__main__.Foo object at 0x000000EF50DAB978><__main__.Foo object at 0x000000EF50DAB978> aa
通过内存地址我们可以看出来,类中函数里self 的内存地址 等价于对象obj的内存地址,实际指向是这个对象
4、self成员变量
class fu(): def a(self): print(self.test) def b(self): print(self.test)c = fu()c.test = 1c.a()c.b()
》》》
11
通过上面的例子可以看出,python 定义成员变量的时候可以在外面定义,是因为self 所指的是对象,正式因为如此可以通过对象定义成员变量~~java中没见过得我一脸懵逼
五、类加括号
自动执行类中的init方法,在init的方法中具体封住的操作,init 叫做构造方法
__del__ 解释器销毁对象的时候自动调用:析构方法
++++++++++++封装+++++++++++++++
1.当同一类型的方法具有相同参数时,直接对封装到的对象即可
2.把类当做模板,创建多个对象(对象内封装的数据可以)
++++++++++++继承+++++++++++++++
1.派生类可以继承基类中所有的功能
class Animal(): def chi(self): print("chi")class cat(Animal): def jiao(self): print("jiao")obj = cat()obj.chi()obj.jiao()
》》》
chijiao
2.派生类可以重写基类,也就是派生类和基类同时存在,优先派生类
class Animal(): def chi(self): print("chi")class cat(Animal): def jiao(self): print("jiao") def chi(self): print("buchi")obj = cat()obj.chi()obj.jiao()>>>buchijiao
3.继承从左到右,同一基类从左右到头
class an(): def piao(self): print("p")class bn(): def piao(self): print("a")class cn(bn,an): def z(self): print("1")c= cn()c.piao()>>>a
阅读全文
0 0
- python_面向对象(初始)
- python_面向对象(一)
- python_面向对象(二)
- python_面向对象
- Python_面向对象编程
- python_面向对象三
- Python_面向对象编程基础
- 【20171014】python_语言设计(8)面向对象程序设计
- 面向对象初始
- 初始面向对象9.07
- 【20171011】python_语言设计(6)程序设计方法与面向对象程序设计
- 【20171014】python_语言设计(7)面向过程程序设计
- python_类型和对象
- python_类型和对象
- python_对象整理
- python_通过shelve修改对象
- 面向对象(面向基础)
- python_函数(二)
- Visual Studio 中 Build 和 Rebuild 的区别
- 合并果子
- linux 添加用户、权限
- UVA 11809 Floating-Point Numbers
- iOS开发常用库
- python_面向对象(初始)
- 21700电池的优势和不足
- 2017多校-2
- 二、用记事本写java程序
- Struts2拦截器基础知识
- kaoshi(zhulei轮播)
- idea andiod java
- 用C语言实现静态顺序表
- 802.11中的帧间间隔(SIFS/PIFS/DIFS)