计算机, 程序设计
封装 - 这是什么? 封装编程
封装-这是的三个主要特征之一 的面向对象的编程(OOP)。 另外两个 - 多态和继承。 它们共同构成了巴解组织的框架,规定了各种不同语言编写程序的功能,使用这三项原则。 面向对象的语言,反过来,有义务严格遵守。
OOP基础
面向对象在其创作的三大支柱编程:
- 多态性,回答的一个特定的编程语言是如何与有相互的关系,以类似的方式对象涉及的问题。
- 传承,给一个答案,是如何利用可重用代码的刺激。
- 封装,这是答案隐藏实现的问题发生,因此,数据的完整性。
术语
封装(编程) - 是使用访问修饰符以便从最终用户隐藏的代码段。 在其下方,反过来,意味着开发人员或遗址。
“封装”的概念的本质
该定义指定由封装意味着隐藏所有或部分程序代码。 “封装”概念的本质是操纵访问修饰符。 这意味着开发人员可以决定哪些属性,方法和类将开放给客户一流的,什么 - 被隐藏。
访问修饰符
- 公众(“公众” - 公共,开放接入) - 份额都在当前类和对象,并给外界;
- 私人(“prayvat” - 私有的,私人的,隐藏的访问) - 封闭接入,其实质是完全与前一个的相反。 它提供仅从当前级接入;
- 保护(“protekted” - 保护的,半隐藏接入) - 使用当前类及其衍生物;
- 缺省 - 未指定的访问修饰符表示该字段/方法可以看出对于所有的当前类在包中。
在C#语言(“硅夏普”)中,除了上述(除了最后),仍有修饰符:
- 内部(“内部” - 内部访问) - 中的辅助电流组件中,向所有其他情况下室内接入;
- 内部保护(“内部protekted” - 内部保护接入) - 两个修饰的联盟在其中他们两个清单属性。
封装的作用
封装机构消除了对嵌入其中的数据的代码和滥用外部影响。 这是由代码和数据组合成一个完成的。
对象和封装
组合的软件模块和嵌入在代码数据的实现方式中,编程被称作一个对象。 其与封装的连接的本质是,这样的方法允许维持和保证了机构的操作的完整性。
封装的优点
封装 - 的方式来简化编码过程。 代码无数条线是“幕后”,并在主类的工作将对象实例。
数据保护的想法
封装 - 它也是实现数据保护的想法的机制。 程序逻辑的面向对象的程序设计是建立在大多数数据将成为基础上隐藏的访问修饰符民营(私营,民营)或保护(保护)。 外面的世界,客户有意或无意不会损坏软件模块的实现。 因为实际上它使得它非常容易甚至没有目的,封装 - 这是一个非常好的原则。
封装单元
类,如封装的基本单元,并描述所述数据包括代码,其能够对这些数据进行操作。 他还为对象的建设奠定了基础。 后者又是作为一个实例。
- 部件 - 这是代码和包括在类的数据;
- 字段或实例变量 - 用于定义类的所谓的数据;
- 成员函数 - 它们所包含的代码本身。 成员函数 - 一个共同的名字。 一个特殊的情况 - 方法。
封装具体的例子
封装(编程)例如:
*注意:
描述 - 该方法/属性/变量的说明,即评论究竟在程序发生。 它是由开/关标记的手段证实
使用系统;
命名空间OOPLibrary.Auto
{
///
///这个类是用来描述汽车的动作
///
公共类汽车
{
///
///为了创建变量在写,多少年的车,因为在房地产开发商外界干扰认为是多余的
///改性剂标记为私有的,即闭合,私营访问(请参阅。上面的描述)。
///
私人诠释_age;
///
///布林(只有两个可能的值-是或否),它描述了车辆是否在此刻移动
///它也应该是开放给最终用户,不管他是谁。 因此这个变量分配一个专用访问修饰符“prayvat”
///
私人布尔_isMoving;
///
///此字符串变量应包含有关汽车的颜色信息。 它可以通过外部影响而改变
///因为对于颜色修正选择开放获取“公共”。
///
公共串色;
///
///在这种特殊情况下,我们认为汽车的名称,也可以改变
///分配的公共的改性剂(对于所有开放存取,无论类或组件)。
///
公共字符串名称;
///
///打开类构造函数和变量表示的所有属性,并设置早一点,得到他们的价值观
///
市民盛汽车()
{
_age = 5;
_isMoving = FALSE;
颜色=“紫”;
NAME = “斯柯达明锐”;
}
///
///该方法实现了汽车时代的返回值。 为什么是这个必要吗?
///私人的访问修饰符不使其能够为客户端的变化。
///
///返回车的时代。
公共字符串GetAge()
{
返回“目前,所选择的机器” + _age +“的年代。”
}
///
///如果汽车不动,这种方法实现了运动的开始。 检查变量oboznalsya,车辆(行驶或没有),并且根据结果的条件时,将显示适当的行动/消息。
///
公共无效启动()
{
如果(_isMoving)
{
Console.WriteLine(“运动已经开始”);
}
其他
{
_isMoving = TRUE;
Console.WriteLine( “准备,设置..去了!”);
}
}
///
///如果议案被启动,这种方法阻止了他。 相同的程序逻辑如前面的情况下考虑。
///
公共无效停止()
{
如果(_isMoving)
{
_isMoving = FALSE;
Console.WriteLine( “停止机器”);
}
其他
{
Console.WriteLine(“错误小车等站定,别动”);
}
}
///
///实现左转,如果有车辆
///
公共无效MoveLeft()
{
如果(_isMoving)
{
Console.WriteLine(“左转完成”);
}
其他
{
Console.WriteLine(“错误车辆处于静止状态的旋转功能目前无法使用。”);
}
}
///
///类似的方法与所述右转
///
公共无效MoveRight的()
{
如果(_isMoving)
{
Console.WriteLine(“右转已成功实施了”);
}
其他
{
Console.WriteLine(“错误的车还没有从现货右转它此刻的动作,这是不可能进行移动。”);
}
}
}
}
Similar articles
Trending Now