美文网首页
[Python]关于面向对象(封装)

[Python]关于面向对象(封装)

作者: 岁月神偷_bde8 | 来源:发表于2017-09-05 20:48 被阅读0次

封装:将一堆零碎的东西封箱装起来!

1.什么是封装?

封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。该逻辑单元负责将所描述的属性隐藏起来,外界对客体内部属性的所有访问只能通过提供的用户接口实现。这样做既可以实现对客体属性的保护作用,又可以提高软件系统的可维护性。只要用户接口不改变,任何封装体内部的改变都不会对软件系统的其他部分造成影响。结构化设计方法没有做到客体的整体封装,只是封装了各个功能模块,而每个功能模块可以随意地对没有保护能力客体属性实施操作,并且由于描述属性的数据与行为被分割开来,所以一旦某个客体属性的表达方式发生了变化,或某个行为效果发生了改变,就有可能对整个系统产生影响。

2.如何实现封装?

例如:

# 定义了一个商品类型,封装和商品有关系的数据

class Goods:

def __init__(self, name, price, stock):

self.name = name

self.price = price

self.stock = stock

#封装具体的数据到对象中:对象是通过类型来封装具体的数据的

g1 = Goods(“连衣裙”, 199, 120)# 将对象敏感的数据,封装在类的内部,不让外界直接访问;而是通过定义的set/get方法来间接访问内部的数据的过程,此时,就可以在set/get方法中,添加条件限制代码!

例如:

class Person:

         def__init__(self, name, age):

                  self.__name = name

                  self.__age = age

         def set_name(self, name):

                  self.__name = name

         def get_name(self):

                  returnself.__name

         def set_age(self, age):

                  if age >= 0 and age <= 100:

                            self.__age = age

                  else:

                            print("设置的年龄不合法...")

        def get_age(self):

                   returnself.__age

        def__str__(self):

                   return"姓名:%s;年龄:%s"% (self.__name,self.__age)

3.封装实现的步骤

1.完成一个类的定义

2.所有属性私有化

3. 给每个属性提供set/get方法

相关文章

  • 营销比赛二三事

    Python面向对象编程三大特性调研 Python面向对象之封装 在Python中,没有类似 private 之类...

  • [Python]关于面向对象(封装)

    封装:将一堆零碎的东西封箱装起来! 1.什么是封装? 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并...

  • python面向对象特性之封装

    面向对象——封装 一、概述 Python面向对象的三大特性:封装、继承和多态。 封装:在类中对数据的赋值、内部调用...

  • Python面向对象封装

    面向对象——封装 一、概述 Python面向对象的三大特性:封装、继承和多态。 封装:在类中对数据的赋值、内部调用...

  • Python GUI与面向对象

    Python GUI与面向对象 Python面向对象 对象是数据与其能实施的操作的封装结构 类是对于实例对象的抽象...

  • python 面向对象-封装

    封装演示01 前面两种封装方法对于数据的安全保护不够强烈,应为对象可以直接通过objeect.name='like...

  • *Python面向对象--封装

    所谓封装就是对外部世界隐藏对象的工作细节 今天老师讲了四个例子,由简入繁,由浅入深详细分析了封装的意义及用法 例1...

  • Python 面向对象 封装

    Python面对对象封装 1.1 面向过程和面向对象 根据操作数据的函数或语句块来设计程序的过程,叫做面向过程编程...

  • Python面向对象-封装

    前言 在 Python入门基础中,可能有些知识点没听懂。听,你不一定能完全听懂,但是还是那件事,不放弃,不抛弃,一...

  • 22.Python编程:封装、继承、多态

    前面学习了面向过程和面向对象的概念,又学习了Python中类和对象的相关知识,其中面向对象最大的特征是:封装、继承...

网友评论

      本文标题:[Python]关于面向对象(封装)

      本文链接:https://www.haomeiwen.com/subject/wkypjxtx.html