#封装:内部对数据封装。作用:1、保护数据,防止被随意修改;2、使外部的程序不需要关注内部的构造;只需要提供接口给外部进行访问即可。
#继承:一个类就相当于一个模板。通过父类,子类的方式实现不同角色的共同点和不同点的最小代码量。
#多态:多种状态。一个接口,多种实现。一个基类中派生出了不同的子类,且每个子类在继承了同样的方法的同时又对父类的方法做了不同的实现,这就是
同一个事物表现出的多种形态
例子:
class Dog(object):
def __init__(self,name,type): #构造函数,构造方法=初始化方法。
self.NAME = name #在类里是全局生效,叫属性或成员变量(严格来说不是公有属性)
self.TYPE = type
self.__heart = "Normal" #私有属性,外部不能传参数进来。
def sayhi(self): #类的方法;动态属性
print("hello, I am a dog, My name is",self.NAME)
print("My type is",self.TYPE)
def eat(self,food):
print("%s is eating %s" %(self.NAME,food))
def get_heart(self): #对外提供只读访问接口。
return self.__heart d = Dog("小汪1","京巴") #实例化后产生的对象,叫实例。
d2 = Dog("小汪2","哈巴")
print(d.NAME)
d.sayhi()
print(d.get_heart())
print(d._Dog__heart) #强制访问私有属性。 print(d2.NAME)
d2.sayhi() #可以从初始化方法后的参数里传入
d2.eat("rice") #可以直接传入参数

最新文章

  1. IOS 序列化与反序列化NSKeyedUnarchiver
  2. jQuery的.html(),.text()和.val()的概述及使用
  3. ajax 删除一条数据
  4. 借教室(codevs 1217)
  5. mysql cluster (mysql 集群)安装配置方案(转)
  6. POJ 3461 Oulipo KMP
  7. 滑动到底部或顶部响应的ScrollView实现
  8. request.getAttribute( "result");和request.setAttribute("result",username);
  9. 浅谈DevExpress<二>:设计一个完整界面(1)
  10. [Unity]C#中 将XML和实体类之间进行相互转换的工具类
  11. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):
  12. servlet篇 之 跳转问题
  13. deemo
  14. Python h5py
  15. 062 SparkStream内部原理
  16. Linux下配置环境变量—— .bashrc 和 /etc/profile
  17. python调用win32com.client的GetObject查找进程信息及服务信息
  18. Docker registry 私有仓库镜像查询、删除、上传、下载 shell
  19. weblogica 目录结构 简单介绍 创建domain domain所在目录
  20. c#网络加密传输

热门文章

  1. Spring框架中文件目录遍历漏洞 Directory traversal in Spring framework
  2. springmvc返回不带引号的字符串
  3. Echarts设置点击事件
  4. 获取系统DPI、系统显示比例等
  5. 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
  6. Cypress 自动化环境搭建
  7. 题目分享Q
  8. STL之内存管理
  9. Java 创建并应用PPT幻灯片母版
  10. 数据结构之递归Demo(走迷宫)(八皇后)(汉诺塔)