一、什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其 含义是其他程序无法调用。 要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。 二、为什么要封装 封装数据的主要原因是:保护隐 ...
分类:
编程语言 时间:
2017-04-20 21:28:42
阅读次数:
197
构造函数:也是功能,专门用于给对象进行初始化。格式:1.函数名和类名相同2.没有返回值类型3.没有具体返回值 4。构造函数有return语句,用于结束初始化,可以不写。 (构造函数私有化的话,它只能在本类中使用,而且其他程序无法创建该类的对象:无法对创建的对象进行初始化)..
分类:
编程语言 时间:
2017-04-20 11:52:43
阅读次数:
133
1.当创建了类的对象后,直接通过:"对象.属性 "的方式对相应的对象属性赋值,可能会不满足实际情况。 我们考虑不让对象来直接作用于属性,而是通过 "对象.方法 " 的形式,来控制属性的访问 实际情况中,对属性的要求就可以通过方法来体现。 解决的方法: (封装的思想)将类的属性私有化,提供公共的方法来 ...
分类:
其他好文 时间:
2017-04-18 23:32:29
阅读次数:
178
直接上代码(代码注释比较完整): 第一种: package pattern.singleton.doublecheck; public class Singleton { // 私有化默认构造方法,防止外部生成此实例 private Singleton(){} // 声明此单一实例 // volat ...
分类:
编程语言 时间:
2017-04-18 12:56:45
阅读次数:
187
JavaBean, 咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。 JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean: 1)必须提供无参数的构造方法 2)类中属性都必须私有化(private) 3)该类提供公开的getter 和 setter方法 J ...
分类:
编程语言 时间:
2017-04-17 14:08:25
阅读次数:
269
#include #include using namespace std; class SignalExample { static SignalExample* c_instance; //将所有的构造函数(构造函数、拷贝构造、赋值重载)都私有化,使外部不能直接创建对象 SignalExampl... ...
分类:
编程语言 时间:
2017-04-15 17:08:47
阅读次数:
227
单例指仅仅会被实例化一次的类,这样这个类是整个系统中只会存在唯一的实例。单例通常被用来代表那些本质上唯一的系统组件。 类的实例化是通过new来完成的,每次调用new都可以保证创建了一个新的实例。要保证只实例化一次,那么就要保证只能调用一次new。 要实现这一点,需要将构造器私有化。这样调用者就不能使 ...
分类:
其他好文 时间:
2017-04-14 22:28:21
阅读次数:
170
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 类是对象的抽象,对象是类的具体实例。 1.构造一个类,让其拥有属性和方法 public class Employee { //属性,私有化属性,并提供方法让其能够通过方法访 ...
分类:
编程语言 时间:
2017-04-13 11:06:14
阅读次数:
340
最近学习了设计模式之单例模式,现在进行总结一下吧。 (1)饿汉模式:饿汉模式利用类的加载机制 好处:只在类的加载时候创建一次实例,不会存在多线程创建多个实例的问题,避免了多线程同步的问题。 缺点:即使这个实例没有被程序用到,也会被创建,内存就浪费了。 (2)懒汉模式:懒汉模式是需要的时候才去创建对象 ...
分类:
其他好文 时间:
2017-04-08 18:47:35
阅读次数:
203
//继承破坏了封装性 因为修饰符的不同 封装:通过公有化方法访问私有化属性,使得数据不容易被任意窜改,常用private修饰属性; 继承:通过子类继承父类从而获得父类的属性和方法,正常情况下,用protected修饰属性,专门用于给子类继承的,权限一般在本包下和子类里; 继承破坏了封装:是因为属性的 ...
分类:
其他好文 时间:
2017-04-07 20:45:04
阅读次数:
273