熟悉面向对象思想的同学,应该都知道其三大特征:封装,继承和多态。在任何支持面向对象思想的编程语言当中,都进行了体现。这一章当中通过完成判定结婚系统,介绍一下封装特征中的私有化等知识点。
需求分析:
涉及到的知识点:
- 面向对象类的封装,属性私有化封装
- 对象作为函数的参数进行传递,与对象类型的判断
- 异常的处理与抛出
逻辑分析:
原题为JAVA试题,gender为性别,题目中为boolean类型,在此题中,我将gender改动为字符串类型,可输入“男”或“女”,其他数据则提示异常,设计个函数marry用于判断是否能够结婚,排除所有不能够结婚的条件,最终依然继续执行,便是可以结婚。
功能实现代码:
class Person(object):
def __init__(self,name,age,gender,partner=None):
self.__name = name
self.__age = age
self.__gender = gender
self.__partner = partner
def setName(self,name):
self.__name = name
def ge