当前位置: 首页 > news >正文

网站开发前端需要学什么/优化服务内容

网站开发前端需要学什么,优化服务内容,我的网站怎么做,青海建设信息网站Python之路,Day19 面向对象的程序设计之继承实现的原理(继承顺序)、封装、property 以下类容参考自:http://www.cnblogs.com/metianzing/p/7121947.html 抽象类补充: 1 import abc2 class Parent(metaclass abc.ABCMe…

Python之路,Day19 = 面向对象的程序设计之继承实现的原理(继承顺序)、封装、property

 

以下类容参考自:http://www.cnblogs.com/metianzing/p/7121947.html

 

抽象类补充:

 1 import abc
 2 class Parent(metaclass= abc.ABCMeta):
 3     x=1
 4     @abc.abstractclassmethod
 5     def foo(self):
 6         pass
 7 
 8     @abc.abstractclassmethod
 9     def bar(self):
10         pass
11 
12 class Child(Parent ):
13     def foo(self):
14         pass
15 
16     def bar(self):
17         pass
18 
19 c=Child()
20 print(c.x)
21 运行结果:
22 1

 注意1:父类的变量可以遗传给子类

 注意2:抽象类:本身不能被实例化,也不应该被实例化,它的作用就是定义标准,并不用具体实现。

继承实现的原理(继承顺序)

1 继承顺序

继承
新式类和经典类都会先找完一个分支(在多个父类没有共同父类的情况下)
当父类出现共同父类的时候,新式类广度优先,经典类深度优先(到共同父类截止)

继承顺序,可以通过 h.mro() 来查看,里面是个字典,
# 这个方法只在新式类中有


super()方法继承只能用于新式类
super()方法继承只能用于新式类
寻找顺序会按照 mro 中顺序找?怎么确定哪些属性给谁?
ptyon 3
super().__init__(name, age, sex)
python 2
super(子类,self).__init__(name, age, sex)

 封装:

封装数据
封装功能

  get/set方法的升级---版本一

 1 #! /usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # __author__ = "Always"
 4 # Date: 2017/7/2
 5 
 6 # propetry的使用
 7 
 8 class Test(object):
 9     def __init__(self):
10         self.__num = 100
11 
12 
13     def getNum(self):
14         print("++++++++++++getNum++++++++++++")
15         return self.__num
16 
17     def setNum(self, newNum):
18         print("++++++++++++setNum++++++++++++")
19         self.__num = newNum
20 
21     num = property(getNum, setNum)     # 位置参数(self, fget=None, fset=None, fdel=None, doc=None),get 在前面, set在后面
22 
23 t = Test()
24 
25 print(t.getNum())
26 
27 t.setNum(200)                       # 正常情况下,都是这么调用
28 print(t.getNum())
29 
30 
31 t.num = 50             # 使用 property 后,将get、set设置成了属性,这样的话,调用起来就比较方便了。可以直接使用
32 
33 print(t.num)
34 
35 get/set升级版本一

get/set方法的升级---版本二

 1 # Date: 2017/7/2
 2 
 3 # propetry的使用
 4 
 5 class Test(object):
 6     def __init__(self):
 7         self.__num = 100
 8 
 9 # get写前面,set写后面,两个函数名字一样,函数名为后面的取值依据,个体前面写 property,set写 函数名.setter
10     @property
11     def num(self):
12         print("++++++++++++getNum++++++++++++")
13         return self.__num
14 
15     @num.setter
16     def num(self, newNum):
17         print("++++++++++++setNum++++++++++++")
18         self.__num = newNum
19 
20     @num.deleter
21     def num(self):
22         print("++++++++++++deNum++++++++++++")
23         del self.__num
24 
25 # 话句话说, 前面加 property 的时候,就把这个函数变成了一个属性(变量) 这样的话,代表可以直接执行
26 # 这种情况下如果遇到有参数的时候,传参数可以参考 setter 这个赋值的操作,也就是,写两个咯。。。多试大兄弟
27 t = Test()
28 
29 t.num = 50
30 print(t.num)
31 
32 del t.num   # 通过这个可以删除 __num  这个私有属性
33 
34 # 上面就是三个属性的装饰器
35 # 通常可以只提供一个查询的结果的接口给别人(这个函数里面可可以添加好多的流程)
36 
37 get/set升级版本二

 

转载于:https://www.cnblogs.com/alwaysInMe/p/7123162.html

http://www.lbrq.cn/news/971731.html

相关文章:

  • 让孩子学编程真是害了孩子/合肥百度推广排名优化
  • 仿做赌博网站/太原网站推广公司
  • 网站后台添加关键词/资源网
  • 宝塔可以做二级域名网站么/网络推广外包流程
  • php做音乐网站/百度seo关键词优化电话
  • 网络规划设计师5天修炼下载/网络推广的调整和优化
  • 哪个网站做的win10系统/怎么去推广自己的网站
  • 8黄页网站建设/广告公司主要做什么
  • 用java做网站好吗/公司网站排名
  • 东莞seo关键字优化/seo技术教学视频
  • 旅游网站开发项目策划书/站长工具pr值查询
  • 长沙百度网站制作/素材网
  • 网站关键字优化地点/市场营销方案范文
  • 协会网站建设目的/头条新闻今日头条
  • 最专业的做网站公司/每日新闻摘抄10一15字
  • wordpress 菜单 分隔/semseo是什么意思
  • 手工网站大全做椅子套/企业如何网络推广
  • 幼儿园网站建设方案/关键词小说
  • 在线商城网站怎么做/佛山快速排名seo
  • wordpress去除主题加密页脚/洛阳网站建设优化
  • 网站不备案可以用吗/nba今日数据
  • 深圳网站制作的/百度seo排名培训优化
  • 网站建设中faqs的意思/网销是什么工作好做吗
  • wordpress 5.1.1主题/seo网络培训学校
  • 浪漫做爰网站/今天特大新闻
  • 企业电子商务网站建设/优化大师怎么下载
  • 做外贸独立网站必须要有备案么/网站发布流程
  • 手机网站定制 杭州/成免费crm软件有哪些优点
  • 网络求职做阿姨哪个网站好/seo包年优化
  • 标志在线设计网站/广东seo
  • 算法入门:BFS与DFS详解(C++实现)
  • docker-compose 配置启动2个MongoDB
  • Flink实战项目——城市交通实时监控平台
  • 【Java篇】IntelliJ IDEA 安装与基础配置指南
  • 跨平台移动开发技术深度分析:uni-app、React Native与Flutter的迁移成本、性能、场景与前景
  • 【微信小程序】