廖雪峰python教程 面向对象编程之访问限制

https://www.liaoxuefeng.com/wiki/1016959663602400/1017496679217440
练习:
请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:

# -*- coding: utf-8 -*-
class Student(object):def __init__(self, name, gender):self.name = nameself.__gender = genderdef get_gender(self):return self.__genderdef set_gender(self, gender):self.__gender=genderreturn None
# 测试:
bart = Student('Bart', 'male')
if bart.get_gender() != 'male':print('测试失败!')
else:bart.set_gender('female')if bart.get_gender() != 'female':print('测试失败!')else:print('测试成功!')

python面向对象编程之访问限制相关推荐

  1. python面向对象编程之实例属性和类属性

    廖雪峰python教程 面向对象编程之实例属性和类属性 练习 为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加: # -*- coding: utf-8 -*- ...

  2. python面向对象编程之组合

    前面讲了面向类与对象的继承,知道了继承是一种什么"是"什么的关系. 然而类与类之间还有另一种关系,这就是组合 先来看两个例子: 先定义两个类,一个老师类,老师类有名字,年龄,出生的 ...

  3. Python面向对象编程之Zope.interface安装使用( @implementer)implements

    一.接口简述 在我们所熟知的面向对象编程语言中,大多提供了接口(interface)的概念.接口在编程语言中指的是一个抽象类型,是抽象方法的集合:它的特点如下: 1.类通过继承接口的方式,来继承接口的 ...

  4. Python基础-面向对象编程之特性(property)

    Python基础-面向对象编程之特性property Python面向对象编程之特性(property) 一.统一访问原则 二.使用特性进行拦截操作 三.老式写法 Python面向对象编程之特性(pr ...

  5. python面向对象编程指南 脚本之家_Python面向对象编程之继承与多态详解

    本文实例讲述了Python面向对象编程之继承与多态.分享给大家供大家参考,具体如下: Python 类的继承 在OOP(Object Oriented Programming)程序设计中,当我们定义一 ...

  6. 【C语言】C语言实现面向对象编程之封装

    00. 目录 文章目录 00. 目录 01. 前言 02. 简单程序示例 03. 程序示例优化 04. 总结 05. 参考 01. 前言 面向对象编程(OOP)并不是一种特定的语言或者工具,它只是一种 ...

  7. 面向对象编程之继承、多态、封装、抽象类、接口、包-上

    面向对象编程之继承.多态.封装.抽象类.接口.包-上 继承 类的继承格式 为什么要继承 继承的特点 继承的种类及关键字 访问权限 多态 向上转型 动态绑定 方法重写 重写和重载的区别比较 多态的优点 ...

  8. 面向对象编程之属性方法property

    面向对象编程之属性方法 八股文如下: property属性介绍 property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用.当修改值或者设置值的时候只需要像属性那样使用. 定义pr ...

  9. C语言--面向对象编程之继承

    系列文章目录 C语言实现面向对象编程的第二篇,在第一篇里面我们已经了解到了何为面向对象以及实现面向对象的第一大特性–封装,对于C来说,实现继承和多态要稍微麻烦一些. C语言实现面向对象- - 封装 C ...

最新文章

  1. 安卓首页图片轮播效果(淘宝、京东首页广告效果)
  2. 更新网盘(云存储)功能需求,免费网盘需求,手机数据备份
  3. 关于SpringCloud配置中心,ConfigClient需要注意的问题
  4. 常用公差配合表图_模具设计,常用模具零件选用
  5. ML.NET Cookbook:(1)如何从文本文件加载数据?
  6. centos7使用中文输入法
  7. 在TCP三次握手后插入伪造的TCP包
  8. php 中文日期转时间戳,php日期转时间戳,指定日期转换成时间戳
  9. Exception in thread “main“ java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
  10. ubuntu的iso文件下载
  11. 朱晔的互联网架构实践心得S1E1:Pilot
  12. 【美化§§小清新的身影xp电脑主题】
  13. 英语常见缩写,职业,公司
  14. 软件分类和软件测试工作流程
  15. HDUOJ 2859 Phalanx
  16. 店铺定位目的,品牌传播,产品、人群、价格定位
  17. openCV ROI
  18. HTML作业-我的大学生活
  19. c语言 内存映射文件,内存映射文件
  20. Traffic light control using deep policy-gradient and value-function-based reinforcement learning

热门文章

  1. 移动端video播放时不弹出页面层
  2. java中关于length的真确理解~~~~有补充的请跟帖~~~
  3. android 动态壁纸
  4. 设计模式----Adapter(适配器)
  5. $HOME/$user/.权限导致用户无法登陆图形界面
  6. 常用Oracle分析函数详解
  7. Oracle下的Databse,Instance,Schemas
  8. UNION 和UNION ALL 的区别
  9. sc openscmanager 失败 5 mysql_如何增加windows服务
  10. 数据库数据规范化看不懂_数据库管理系统中的规范化