Python面向对象学习笔记2

1.在一个对象的方法的内部,可以直接访问该对象的属性。
2.关键字None的登场:在定义一个类的属性时,如果不知道设置什么初始值,则可以设置为 None. None 关键字表示什么都没有
可以将None赋值给任何一个变量。
3.Python中的身份运算符 isis not:身份运算符用于比较两个对象的内存地址是否一致(是否是对同一个对象的引用)。“==”是判断两个变量的值是否相等。格式:“A is B”, “A is not B”。在Python中,针对None比较的时候,建议使用 is 来判断。
4.私有属性和私有方法:在定义属性或者方法的时候,在属性名或者方法名前增加两个下划线,定义的就是私有属性或私有方法。私有方法和属性无法再在外部被访问,但可以在内部被访问。
PS:在Python中没有真正意义上的私有属性和方法,只有伪私有方法和伪私有属性,在私有方法或者属性前加上
“_类名”,就可以在外部访问了。
如:_Women__age
5.继承的登场:实现代码重用。子类拥有父类所有的属性和方法。
语法: class 类名(父类名):
子类继承自父类,可以直接享受父类中已经封装好的方法不需要再次开发。子类应根据职责,封装子类特有的属性和方法。
有关术语:父类 = 基类子类 = 派生类派生 = 继承
继承的传递性:C类从B类继承,B类又从A类继承,那么,C类就具有A类和B类所有的属性和方法。
6.方法的重写:当父类中封装的方法不能满足子类的需要时,可以对方法进行重写。
重写父类的方法有两种情况:
1)覆盖父类的方法
父类的方法实现与子类完全不同,就可用覆盖的方式在子类中重新编写父类的方法实现。
具体的方法就是在子类中定义一个和父类同名的方法并实现。在重写之后,运行只会调用子类中重写 的方法,而不会调用父类中封装的方法
2)对父类的方法进行扩展
如果,在子类的方法实现中包含父类的方法实现,即父类封装的方法实现是子类方法的一部分,就可以使用扩展的方式。
在需要的位置可以使用supe().父类方法,来调用父类方法的执行。在其他的位置针对子类的需求,编写子类特有的方法需求。
7.父类的私有属性和私有方法:子类对象不能在自己的方法内部直接访问父类的私有属性和私有方法。子类对象可以通过父类的共有方法间接访问到父类的私有属性和私有方法
私有属性和方法是对象的隐私,不对外公开,外界及子类都不能直接访问。私有属性和方法通常做一些内部的事情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值