"""
继承:子类继承父类
1.单继承,多继承
2. 子类调用或重用父类的同名属性和方法
3. 多层
4.私有属性和私有方法
class 类名(object<父类>)
""" '''单继承'''
# # 父类
# class A(object):
# def __init__(self):
# self.num = 1
#
# def info_print(self):
# print(self.num)
#
#
# # 子类
# class B(A):
# pass
#
#
# def main1():
# r = B()
# r.info_print() # 1 """
多继承:默认使用第一个父类的同名属性和方法
重写:若子类和父类有同名属性和方法,则调用子类的
子类调用父类的同名属性和方法:注意 self
多层继承, 父子孙 super:子类重写了父类方法,并在重写方法中调用父类方法
super(当前类,self).当前方法
私有属性:限制继承,在属性名和方法名前面加上两个__,
只能在类里面访问,获取get_xx,修改set_xx
""" def __info_prin():
print('这是私有方法') class Master:
def __init__(self):
self.kongfu = '[古法煎饼]'
self.__money = 10000 # 私有属性 def __make_cake(self):
return f'用{self.kongfu}制作煎饼果子' \
f'花费了{self.__money}¥' # t1 = Master()
# print(t1._Master__money)
# # 10000 ,运用命名的变换成功访问私有属性
# print(t1._Master__make_cake)
# # 打印了t1地址,需有一个变量来接收 """
另一种理解:
实际上私有属性存在一个坑点,即通过换名仍然可以访问私有属性;
命名时最好以_开头(一种规范);
用getter(访问器)和setter(修改器)来访问与修改属性值;
用 @property装饰器 来包装getter和setter方法;
""" class School:
def __init__(self, kongfu, money):
self._kongfu = kongfu
self._money = money # 访问器 - getter方法
@property
def money(self):
return self._money @property
def kongfu(self):
return self._kongfu # 修改器 - setter方法
@money.setter
def money(self, money):
self._money = money def make_cake(self):
print(f'用{self._kongfu}制作煎饼{self._money}') # school = School('有名法', 100)
# school.make_cake()
# school.money = 10
# school.make_cake()
# # school.kongfu = '古法' AttributeError: can't set attribute

python——面向对象,继承的更多相关文章

  1. python 面向对象 继承 派生 组合

    具体参考博客:http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label12 一.面向对象 面向对象:对象与对象之间的相互交互,不可预 ...

  2. Python面向对象-继承和多态特性

    继承 在面向对象的程序设计中,当我们定义一个class时候,可以从现有的class继承,新的class成为子类,被继承的class称为基类,父类或超类. 比如,编写一个名为Animal的class: ...

  3. Python面向对象继承案例

    面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活 ...

  4. Python 面向对象--继承,实现,依赖,关联,聚合,组合

    一. 继承 继承指的是子类继承父类除私有内容以外的其他所有内容, 并且子类具有增加自己新内容的能力. 举例说明: class Animal: print("吃是动物的本能") cl ...

  5. Python面向对象 -- 继承和多态、获取对象信息、实例属性和类属性

    继承和多态 继承的好处: 1,子类可以使用父类的全部功能 2,多态:当子类和父类都存在相同的方法时,子类的方法会覆盖父类的方法,即调用时会调用子类的方法.这就是继承的另一个好处:多态. 多态: 调用方 ...

  6. python面向对象 : 继承

    一. 初识继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 当我们在定义多个类的时候,发现要用到相同的方法或变量,如 ...

  7. Python面向对象----继承, 重载

    1. 面向对象三大特性之继承. 继承的便捷是子类可以直接调用父类里面的方法和属性.(在强类型语言里面是只能调用公有成员), 不用重复的造轮子. 减少程序猿的负担.实现多态等上层结构 2. 父类代码 3 ...

  8. python 面向对象 继承

    什么是继承 继承表达的是一种”是“的关系,比如人是动物 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 继承是基于抽象的结 ...

  9. python面向对象继承

    class A(object):pass # 括号中可称为父类,基类,超类 class B:pass # 父类,基类,超类 class A_son(A,B):pass # 子类,派生类 class A ...

  10. 028.Python面向对象继承(单继承,多继承,super,菱形继承)

    一 继承的概念 种类 单继承 多继承 至少两个类: 子类:一个类继承另外一个类,那么该类是子类(也叫作衍生类) 父类:另外一个,这个被继承的类,叫做父类(也叫作超类),object 在python中 ...

随机推荐

  1. WTL Hello World

    构建最简单的WTL Hello World程序,基于:WTL91_5321_Final + VS2013 + WIN7 添加->新建项目 为了简单起见,我们删除一些button和对应的处理代码( ...

  2. android webview正确显示音标

    package com.example.fonttest; import android.support.v7.app.ActionBarActivity; import android.webkit ...

  3. [C/C++]_[Unicode转Utf8,Ansi转Unicode,Ansi文件转Utf8文件]

    http://blog.csdn.net/infoworld/article/details/15337665 场景: 1.也就只有windows需要那么麻烦,还搞一个ANSI编码.学学mac os ...

  4. C++调用DLL方法

    调用的原理: 调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同.Windows提供了两种将DLL映像到进程地址空间的方法:隐式 ...

  5. ubuntu16.04(其他版本也可)批量修改图片名---shell编程

    在windows系统中有很多好用的图片排序软件,可以批量的进行图片排序.然而在ubuntu中,图片排序只能自己写一个shell脚本,编写shell代码.下面是具体的操作步骤.(1).新建一个renam ...

  6. Golang的sync.WaitGroup 实现逻辑和源码解析

    在Golang中,WaitGroup主要用来做go Routine的等待,当启动多个go程序,通过waitgroup可以等待所有go程序结束后再执行后面的代码逻辑,比如: func Main() { ...

  7. 解释为什么不能依赖fail-fast

    我的观点fail-fast是什么就不多解释了,应该注意到的是(以ArrayList为例):modCount位于AbstractList中, protected transient int modCou ...

  8. Rip 动态路由协议

            路由信息协议(RIP) 是内部网关协议IGP中最先得到广泛使用的协议.        Routing Information Protocol) RIP是一种分布式的基于距离矢量的路由 ...

  9. Day3前端学习之路——CSS基本知识

    课程目标 初步了解什么是CSS,掌握基本的CSS概念,语法,针对选择器特殊性的计算处理,以及学习如何设置一些简单的样式 任务一:回答问题 1.什么是CSS,CSS是如何工作的? CSS 指层叠样式表 ...

  10. css沉默

    css变色龙实现. ==== css 1 水平居中和垂直居中. 2 css布局方式. 3 你写过UI框架么.