封装和隐藏

有时候会遇到这种情况,某些属性指向限制在特定范围内,当别人调用的时候,只能赋值在这特定范围内的值。这样的情况有哪些呢?比如有一个属性是用来放年龄的,那么这个年龄就不能被设置为负数。还有人的性别只有男跟女两种选择,别来一个雌雄同体。在这样的情况下,就会用到封装跟隐藏。

信息的封装和隐藏

  Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXXX()和setXXX()实现对该属性的操作。

  以实现下述为目的:

  隐藏一个类中不需要对外提供的实现细节;

  使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;

  便于修改,增强代码的可维护性;

理解:封装和隐藏其实就是将属性设置为私有类型,导致属性只能在类的内部调用。而外部要调用这个属性只能通过在相同类中的公共类型的方法,这样就可以在方法中设置判断条件从而达到限制属性的取值范围。

原文地址:https://www.cnblogs.com/fangfangfanga/p/12037159.html

时间: 2024-10-17 09:36:24

封装和隐藏的相关文章

面向对象的特征一:封装与隐藏

* 面向对象的特征一:封装与隐藏 3w: what? why? how? * * 1.问题的引入? * 我们在创建了一个类的对象以后,通过"对象.属性"的方式,可以给对象的属性赋值.对此属性的赋值,是限制的,比如:数据类型和 * 数据类型储值范围的限制.但是,在实际问题中,还通过需要额外的限制.同时这些额外的限制,不可能在属性的声明中加上限制逻辑. * 那么,我们只能考虑通过方法,对属性的赋值进行额外的限制.同时,我们必须禁止再直接通过"对象.属性"的方式,对属性进

数据的封装和隐藏原则

这是我第一篇文章,总结了网上牛人的经验,以及我在实践中的思考,记录总结,以便日后回顾. 1.尽量降低耦合 1.1.原理: Martin Fowler写到“任何全局数据通常都是有问题的,除非可以证明它确实没有问题”.多种原因 导致Java中的全局变量和其他类似的全局结构被认为是一种糟糕的做法. 全局数据的本质和含义违背了数据的封装和隐藏原则.理想的情况下, 一个对象应该仅仅与那些通过构造函数或方法调用传入的对象交互.一个对像的实现应当对它的使用者完全隐藏实现细节.(封装隐藏) 所有使用到了这个全局

面向对象----信息的封装和隐藏

信息的封装和隐藏 信息封装和隐藏的必要性 使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误.混乱或安全性问题.(version1) 1 public class Animal { 2 public int legs; 3 public void eat(){ 4 System.out.println("Eating."); 5 } 6 public void move(){ 7 System.out.println("Moving."); 8 }

《javascript设计模式》读书笔记二(封装和隐藏信息)

1.为什么要封装和信息隐藏 做过编程的朋友们知道"耦合"这个词,其实封装的效果就是为了解耦,让类和类之间没有太多的联系,防止某一天修改某一类的时候,产生"多米骨诺牌效应". 我们可以把信息隐藏看成目的,把封装看成达到信息隐藏的技术.通过封装就可以把对象的内部数据表现形式和实现细节进行隐藏.就好比你会看电视,但是你不知道电视的内部结构一样.但是在javascript中没有任何内置的机制,所以我们还需做些处理,同样来模仿封装. 2.创建对象的方法 1)最简单的一种方法就

【宋红康学习日记8】面向对象特征之一--封装与隐藏

一 封装 1 创建对象时,调用属性值时,不应该“对象.属性”,应该尽量将类中属性设置为隐私,通过“对象.方法”来调用属性,这就是封装性与隐藏性的思想. 2 封装的思想:将类的属性私有化,提供方法(setter&getter方法)调用. 二 权限修饰符 public private protected  缺省(default) 1 权限大小 public<protected<defaule<private 2 class 只能由public default修饰 三 构造器 1 作用

面向对象5——封装和隐藏

.面向对象三大特性:封装.继承.多态 封装 1.定义 .将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息:通过该类所提供的方法来实现对内部信息的操作和访问 2.目的 .隐藏类的实现细节 .让使用者只能通过实现预定的方法来访问数据,从而可以在该方法中加入逻辑控制,限制对成员变量的不合理访问 .可进行数据检查,从而奥正对象信息的完整性 .便于修改,提高代码的可维护性 3.实现 .将对象的成员变量和实现隐藏起来,不允许外部直接访问 .把方法暴露出来,让方法控制这些成员变量进行安全访问

2、C#面向对象:封装、继承、多态、String、集合、文件(上)

面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. 打包,便于管理,为了解决大型项目的维护与管理. 三.什么是类? 将相同的属性和相同方法的对象进行封装,抽象出 “类”,用来确定对象具有的属性和方法. 类.对象关系:人是类,张三是人类的对象. 类是抽象的,对象是具体的.对象可以叫做类的实例,类是不站内存的,对象才占内存. 字段是类的状态,方法是类执

面向对象之封装和继承

面向对象的三大特征:封装.继承.多态. 面向对象编程之封装: 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 有一个最大的优点:信息隐蔽,封装即隐藏. PHP 中通过将数据封装.声明为私有的(private),再提供一个或多个公开的( public)方法实现对该属性的操作,以实现下述目的: 隐藏一个类的实现细节: 防止对封装数据的未经授权的访问.使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作: 有利于保证数据的完整性: 便

面向对象之封装,继承

面向对象的主要特征为封装,继承和多肽. 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节.优点是信息隐蔽,封装即隐藏.它要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度. 继承是面向对象最重要的特点之一,就是可以实现对类的复用. 通过"继承"一个现有的类,可以使用已经定义的类中的方法和属性. 继承而产生的类叫做子类. 被继承的类,叫做父类,