python - class类 (七) 三大特性 - 封装 结尾
封装:
# 封装
#第一层,类就是麻袋,本身就是一种封装
#第二层,类中定义私有的,至在类的内部使用,外部无法访问
#第三层,封装在于明确区分内外,使得类实现者可以修改封装内的东西二不影响外部调用者
#而外部调用者也可以知道自己可以使用哪些属性哪些不行.
class A():
#1.定义一个类属性
# num = 123
#2.第二种'隐藏'的类私有属性(约定)
# _num = 123
#3.第三种'隐藏'类私有属性(约定)
# __num = 123 def __init__(self,name,yc):
self.name = name
#私有实例属性
self.__yc = yc #私有类函数方法
def __test(self):
print("test")
anec = A("anec",123)
#第一种
# print(anec.num)
#第二种
# print(anec._num)
#第三种
# print(anec._A__num) #类的函数方法也同上
anec._A__test() #实例属性隐藏也同上:
print(anec._A__yc) # 结尾:
# python 并不是严格限制外部对私有属性的访问,以免封装滥用.
#真正的封装是,经过深入的思考,做出了良好的抽象,给出"完整且最小"的接口,并使得内部细节可以对外透明. # 面向对象的优点:
# 1.更好的结构化编程方式
# 2.封装明确内外
# 3.在语言成眠支持了归一化设计
python - class类 (七) 三大特性 - 封装 结尾的更多相关文章
- 转 OC温故:类的三大特性(封装,继承,多态)
原文标题:OC学习篇之---类的三大特性(封装,继承,多态) 我们都知道,面向对象程序设计中的类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性 ...
- OC学习篇之---类的三大特性(封装,继承,多态)
之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习 ...
- day36 类的三大特性---封装以及Property特性
目录 类的封装 如果真的要拿 类的property特性 setter & deleter 类属性用法 类与对象的绑定方法和非绑定方法 对象方法&类方法&静态方法 隐藏模块内的函 ...
- python - class类 (四) 三大特性之一 :继承
继承: #继承 #什么时候用继承? # 1.当类之间有显著的不同,并且较小的类是较大的类的所需的组建时,用组合比较好. # 2.当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好 # ...
- python - class类 (六) 三大特性 - 多态
多态的概念: # 多态的概念 # 指出了对象如何通过他们共同的属性和动作来操作及访问而不需考虑他们的具体的类 # 多态表明了动态绑定的存在,允许重载及运行时类型确定和验证. # 示例模拟: #水具有多 ...
- python 面向对象三大特性(封装 多态 继承)
今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)注:Java和C#来说只支持面向对象编程,而python比较灵活即支持面 ...
- (转载)OC学习篇之---类的三大特性:封装,继承,多态
之前的一片文章介绍了OC中类的初始化方法和点语法的使用,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今 ...
- Python 类的三大特性的综合运用 案例
# --------------------- 类的三大特性的综合运用 案例 ------------------------- # 定义三个类:小狗,小猫,人 # 小狗:姓名,年龄(默认1岁) 吃饭 ...
- [.net 面向对象编程基础] (11) 面向对象三大特性——封装
[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...
随机推荐
- SQL语言分类DQL,DML,DDL,DCL,DTL
SQL语言共分为五大类: 数据查询语言DQL 数据操纵语言DML 数据定义语言DDL 数据控制语言DCL 数据事物语言DTL DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WH ...
- BZOJ5312 冒险(势能线段树)
BZOJ题目传送门 表示蒟蒻并不能一眼看出来这是个势能线段树. 不过仔细想想也并非难以理解,感性理解一下,在一个区间里又与又或,那么本来不相同的位也会渐渐相同,线段树每个叶子节点最多修改\(\log ...
- WebSocket安卓客户端实现详解(三)–服务端主动通知
WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...
- Internet Explorer 10 administration IE10管理
http://4sysops.com/archives/internet-explorer-10-administration-part-1-overview/ http://4sysops.com/ ...
- 【bzoj2007】 Noi2010—海拔
http://www.lydsy.com/JudgeOnline/problem.php?id=2007 (题目链接) 题意 $(n+1)*(n+1)$的网格图上,相邻两点间有一些人流.左上角点的海拔 ...
- anaconda python no module named 'past'的解决方法
如上图所示,错误就是:No module named 'past' 解决办法不是下载‘past’包,而是下载‘future’包: 我是安装了anaconda集成环境,python的单独环境应该也是同样 ...
- centos6.5安装jdk(解压tar.gz)
0.说明 下载jdk文件包jdk-7u79-linux-x64.tar.gz. 1.环境清理(系统自带的OpenJDK) 1.1 查看OpenJDK的安装包 $ rpm -qa |grep java ...
- UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)
UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There W ...
- EOJ2018.10 月赛(B 数学+思维题)
传送门:Problem B https://www.cnblogs.com/violet-acmer/p/9739115.html 题意: 找到最小的包含子序列a的序列s,并且序列s是 p -莫干山序 ...
- pageisELIgnored作用
在page指令中有一个isELIgnored属性,其值为true则忽略EL表达式,为false则解析表达式