`

浅谈java封装思想

    博客分类:
  • Java
 
阅读更多
http://blog.csdn.net/andyevenyulong/article/details/3201611
一、封装
封装就是将属性私有化,提供公有的方法访问私有的属性。
*实现封装的步骤:
(1)修改属性的可见性来限制对属性的访问。
(2)为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。
(3)在赋值和取值方法中,加入对属性的存取限制。


**为了实现良好的封装性,我们通常将类的成员变量声明为private,再通过
public的方法来对这个变量进行访问。对一个变量的操作,一般都有读取和
赋值操作,我们分别定义两个方法来实现这两种操作,一个是getXxx()(Xxx
表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是
setXxx()用来对这个成员变量赋值。


**如果外面的程序可以随意修改一个类的成员变量,会造成不可预料的程序错误,
就象一个人的身高,不能被外部随意修改,只能通过各种摄取营养的方法去修
改这个属性。
public class AccpTeacher{
    private String name;
    private int age;

    public String getName(){
    return name;
}
    public void setName(String name){
    this.name = name;
}
    public int getAge(){
    return name;
}
    public void setName(String age){
    if(age<22){
    System.out.println("年龄不符合,太小!");
}else{
this.age = age;
}
}
} 


****封装的优点:
(1)隐藏类的实现细节;
(2)让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制
     逻辑,限制对属性的不合理操作;
(3)便于修改,增强代码的可维护性;
分享到:
评论

相关推荐

    C#类和接口、虚方法和抽象方法及值类型和引用类型的区别等等.........

    这里有好多比较好的资料,很适合正在学习Java和对Java想进一步了解的朋友. 如: 一.C#类和接口、虚方法和抽象方法及值类型和引用类型的区别 二 .C#中 接口与抽象类 的区别 ...浅谈java封装思想 四.抽象类和接口的区别

    浅谈Java的接口的作用和意义.docx

    浅谈 Java 的接口的作用和意义 Java 接口是一种抽象的概念,定义了一系列方法和特征的集合。它可以对应 Java 中特定的语法结构,与抽象类不同的是,抽象类可以实现某些方法,而接口不能。 Java 接口的存在意义在于...

    浅谈Java面向对象程序设计.pdf

    "浅谈Java面向对象程序设计" Java是一种面向对象的高级编程语言,其核心思想是模拟现实生活中的求解过程。面向对象程序设计是人类思维自然化的结果,是从低级到高级的发展结果。在Java语言中,面向对象内容主要包括...

    从追MM浅谈Java的23种设计模式

    Java的23种设计模式是软件工程中的一种经典思想,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种项目中。设计模式并不是特定的代码或库,而是对在特定情境下,如何组织代码和交互的一种描述。这些模式是...

    浅谈Java面向接口编程

    浅谈Java面向接口编程 面向接口编程是Java编程中的一种重要思想,它与面向对象编程紧密相关。在本文中,我们将探讨面向接口编程的概念、接口的本质、面向接口编程的思想内涵、面向接口编程的好处等方面。 一、面向...

    浅谈基于能力培养下的Java程序设计课程教学.zip

    "浅谈基于能力培养下的Java程序设计课程教学"这一主题,正是探讨如何在教学过程中注重培养学生的实际操作能力和问题解决能力。 首先,Java语言作为一门广泛使用的编程语言,其强大的跨平台性、丰富的类库和面向对象...

    浅谈JavaScript 框架分类

    这类框架借鉴了Java的面向对象思想,通过创建对象和属性来组织代码,形成一种自上而下的结构。例如,YUI和EXT允许开发者通过添加属性和子对象来构建复杂的代码结构。 其次,第二类框架是以类工厂为导向,包括...

    (完整版)Java系统架构师面试题 (2).docx

    15. 浅谈一下负载平衡的原理? 负载平衡是一种技术,用于实现高可用性和高性能,通过将请求分配到多个服务器上来实现。 16. 怎么办理权限分派 有几种权限分派模型? 权限分派模型包括自主型接见控制、强迫型接见...

    浅谈SpringBoot是如何实现日志的

    SpringBoot 中实现日志的主要思想是使用门面模式,通过Facade对象封装了子系统的功能,使得子系统更易于使用。门面模式中有三个角色:Facade角色、子系统角色和客户角色。在日志框架中,Facade对象对应的是日志门面...

    浅谈Javascript实现继承的方法

    Javascript是一种基于原型的语言,这与基于类的语言如Java和C++有所不同,因此它的继承机制也显得特别独特。下面,我们将探讨在Javascript中实现继承的几种主要方法,并对每种方法进行详细的解释。 1. 原型链继承 ...

    Temirlan-Nurkulov:特米尔·努尔库洛夫(Temirlan Nurkulov)访谈

    总的来说,特米尔·努尔库洛夫的访谈深入浅出地揭示了Java编程的各个方面,无论是对初学者还是经验丰富的开发者,都能从中获得宝贵的知识和启示。通过下载并研究"Temirlan-Nurkulov-master"这个压缩包,你将能进一步...

    Struts2 技术内幕读书笔记(1)

    #### WEB开发浅谈 ##### 面向对象浅谈 面向对象编程(Object-Oriented Programming,OOP)是一种软件开发范式,它通过模拟现实世界中的对象及其交互来构建程序结构。这种编程方式不仅能够简化程序的复杂度,还能够...

    我的编程感悟(中文PDF)(共37M二分卷)分卷二

    6.1 浅谈代码优化 138 6.2 并不仅仅是汇编 139 6.2.1 在算法实现时减少上下文的依赖关系 139 6.2.2 低效的静态变量 140 6.2.3 数据的组织 141 6.2.4 消除除法 142 6.2.5 避免过大的循环 144 6.3 汇编和C/C++的混合...

    我的编程感悟(中文PDF)(共37M二分卷)分卷一

    6.1 浅谈代码优化 138 6.2 并不仅仅是汇编 139 6.2.1 在算法实现时减少上下文的依赖关系 139 6.2.2 低效的静态变量 140 6.2.3 数据的组织 141 6.2.4 消除除法 142 6.2.5 避免过大的循环 144 6.3 汇编和C/C++的混合...

    冲刺BAT练习题

    ### 第一讲:浅谈国内笔试面试风格及准备方法 1. **实现一个Memcpy函数** - `memcpy`函数用于在内存区域之间复制固定数量的字节。 - 实现时需注意处理边界情况和防止缓冲区溢出等问题。 2. **STL中vector的实现...

Global site tag (gtag.js) - Google Analytics