美文网首页程序员
面向对象-封装(咫尺天涯)

面向对象-封装(咫尺天涯)

作者: 红尘策马 | 来源:发表于2017-07-26 22:00 被阅读0次

面向对象的程序设计中,某个类把所需要的数据(也可以说是类的属性)和对数据的操作(也可以说是类的行为)全部都封装在类中,分别称为类的成员变量和方法(或成员函数)。这种把成员变量和成员函数封装在一起的编程特性称为封装。

类的属性按使用范围分为共有属性和私有属性。具体地,在Python实现面向对象的编程思想的时候,封装在类中的属性可以分为两种:数据类的属性和数据对象的属性(也可以成为数据类的成员变量和属于对象的成员变量),其中,这两种成员变量又各自分为共有成员变量和私有成员变量。(晕晕乎乎)

在使用面向对象的封装特性时,需要:

将内容封装到某处

从某处调用被封装的内容

A.封装什么?(类的属性是对数据的封装,而类的方法是对类的行为的封装)

你钱包里有多少钱(数据的封装)

你的性取向(数据的封装)

你撒尿的具体功能是怎么实现的(方法的封装)

B.为什么要封装?

1.封装数据的主要原因:保护隐私(作为男人的你,脸上就写着:我喜欢男人,你害怕么?)

封装方法的主要原因:隔离复杂度(快门就是傻瓜相机为傻瓜们提供的方法,该方法将内部复杂的照相功能都隐藏起来了,比如你不必知道你自己的尿是怎么流出来的,你直接掏出自己的接口就能用尿这个功能)

2.不带下划线的封装:直接访问,推门而入

带一个下划线的封装:约定(项目规范)是私有属性,不让直接访问,约定:进门前先敲门。这种机制并没有真正意义上限制我们从外部直接访问属性,知道了类名和属性名就可以拼出名字:_类名__属性,然后就可以访问了

带两个下划线的封装:私有属性,反锁,进门前必须敲门

C.什么时候应该封装类

当项目中出现一些零散的、有关系的基本类型数据时,考虑通过类型将这些数据统一组织起来管理。定义一个自定义类,将这些数据作为自己的属性。

面向对象-迈步涅槃

当封装继续,操作进阶,添加@property和@method.setter,此时set/get函数被隐藏,同一个类中,出现了相同名称但是参数不同的函数,这个地方还好,毕竟内容是自己写的,而且也是在一起的,关键是一旦开始编程,再拿面向过程单纯的写函数时那种眼光去看待编程中的内容,会感觉难以理解,一会跳到这里,一会蹦到那边(晕晕乎乎的感觉消失了,变成了晕倒)。

你面对的是全局,是自定义类,心理上没有了那种整齐感、顺序感,反而不容易上手,此时,函数的功能要单一这一理念得到了初步体现,函数进行的功能越单一,重复利用性越高,比如浏览网页时,或者直接登陆,或者在浏览某一子页面想要发表评论、回复信息时,需要登陆,那么这里登陆这一方法跳转的界面就不同了。

作为智慧生物的我们,在没有对某一对象的思想之前,所有的理解感觉就像咫尺天涯,内容近在眼前,上手却又远在天边,而思想一旦开始转变拥有,方法仅仅是熟悉度上的时间与练习

相关文章

  • 面向对象-封装(咫尺天涯)

    面向对象的程序设计中,某个类把所需要的数据(也可以说是类的属性)和对数据的操作(也可以说是类的行为)全部都封装在类...

  • python 面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 14.Python对象封装

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 面试 | java基础

    面向对象 1、面向对象特征? 封装封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成...

  • OC面向对象

    OC面向对象—封装 一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@in...

  • python 面向对象封装案例 II

    面向对象封装案例 II 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一...

  • 面向对象核心技术

    面向对象核心技术 面向对象编程有3大基本特性:封装、继承和多态。 (1)类的封装:封装是面向对象编程的核心思想。封...

  • 面向对象, equals与 ==区别演示,print与print

    一. 面向对象 1.理解面向对象的概念 类与对象 三大特征:封装示例封装演示 面向对象: 在调用对象时,除了要指定...

  • 面向对象之封装

    面向对象之封装 封装是面向对象最重要的特征之一,封装就是指隐藏。 对象隐藏了数据(例如priv...

  • 2019-01-06

    面向对象的三大特点(封装,继承,多态)基于对象 (封装)OOA 面向对象的分析(OOA,Object Orient...

网友评论

    本文标题:面向对象-封装(咫尺天涯)

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