黑马程序员技术交流社区

标题: Java封装 只是对属性的封装么? [打印本页]

作者: 15521086286    时间: 2016-1-27 22:00
标题: Java封装 只是对属性的封装么?
深圳校区发的教材说。类的装就是在定义一个类时,对属性私有化。假如我不对属性私有化,但是我对一个方法私有化 ,再提供一个公共访问的方法去调用这个方法,例如,这难道就是不封装?
例如:public class Demo3 {


        public static void main(String[] args) {
    Fengzhuang f=new Fengzhuang();
    System.out.println(f.name());
        }

}

class Fengzhuang{
private String name="封装";

private String getName() {
        return name;
}

public String name() {
       
        return getName();
}

public void setName(String name) {
        this.name = name;
}



}

虽然没有啥实际意义,但是我用private修饰方法,不算一种封装么?
作者: dele    时间: 2016-1-27 22:55
我是这样理解的,你参考下。
首先对外隐藏细节,提供提供对外使用接口就是封装,所以你这样做是封装没错。
但你这样写,很多余不是吗?而且不规范。软件开发是一个协同合作的过程,公司一般都会都会定下许多规则,如变量名如何写,接口如何命名等。另外你这样写是不符合javaBean规则的(具体规则我有点忘了,你去百度下哈),而许多框架的的使用是要保证这种规范的
作者: 西贝    时间: 2016-1-27 23:17
本帖最后由 西贝 于 2016-1-27 23:18 编辑

这不是多此一举么。除了成员变量的私有化之外,1、包也算是一种封装方式,2、内部类可以私有化,并提供公共访问方法
作者: 858009904    时间: 2016-1-27 23:25
private只是封装的一种,封装并不仅仅是private
作者: ma464526717    时间: 2016-1-28 13:58
算封装的一种




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2