python3_类_封装的意义

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2018/5/19 11:37
# @Author  : chen
# @File    : 封装的意义.py

# 一:封装数据属性:明确的区分内外,控制外部对隐藏的属性的操作行为

"""
class People:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def tell_info(self):
        print('Name:<%s> Age:<%s>' % (self.__name, self.__age))

    def set_info(self, name, age):
        if not isinstance(name, str):
            print('名字必须是字符串类型')
            return
        if not isinstance(age, int):
            print('年龄必须是数字类型')
            return
        self.__name = name
        self.__age = age
    # 对定义内容使用接口来定义,对定义内容进行限定要求
    # 第一个return后,就直接返回,跳过下一个判断


p = People('egon', 18)
# p.name = 123123123
p.tell_info()
p.set_info(123, 'fff')

p.tell_info()
"""


# 二、封装方法:隔离复杂度


class ATM:
    def __card(self):
        print('插卡')

    def __auth(self):
        print('用户认证')

    def __input(self):
        print('输入取款金额')

    def __print_bill(self):
        print('打印账单')

    def __take_money(self):
        print('取款')

    def withdraw(self):
        self.__card()
        self.__auth()
        self.__input()
        self.__print_bill()
        self.__take_money()


a = ATM()
a.withdraw()

"""
指定接口,规范接口,定义接口
这就是封装的一个意义
"""

猜你喜欢

转载自blog.csdn.net/u013193903/article/details/80374195
今日推荐