JAVA的 public String getName() {return name;} public void setName(String name) {this.name = name;}
set/get如何调用
domain,service,action,dao这4层举一个简单的web实例(实用一点,简单易懂的) 展开
这么说吧
现在有个类叫 Person.java 它有属性 age name sex,,,,
全都定义为private 私有成员,如果外部需要访问这些属性的话,是无法直接访问到的,需要调用get/set方法才能访问
比如:
Person p1 = new Person();
p1.setAge(12);
p1.setName("张三"); //这样就给p1的私有属性设值了 如果是public 修饰,则等价于
/// p1.age = 12; p1.name = "张三";
那么同理了,既然set是赋值,get就是取值了。 要知道私有成员不能直接取出来,需要用get方法。
所以啊 ,get/set方法定义为public 公有。
为什么要使用get/set
这样体现面向对象封装的思想。万事万物皆为对象嘛
-------------------------------------------分割线----------------------------------------------------------------
下面说下三个层
domain就是实体层,可以理解为一些带有get set方法的类,这些类都将被作为实体来调用
action 作为控制器,让指定的service来处理请求
service 写一些逻辑代码,调用dao层访问数据库,验证一些操作 返回请求结果
dao专门访问数据库,定义一些增删查改的操作
======================例子 =====================================
以登录为例,现在有一个Domain层 user.java 里面有
private String name;
private String password; //密码
两个属性。
当我打开浏览器,输入登录名和密码的时候,浏览器会将这两个属性发送到指定的action,至于是什么action,就要看程序猿怎么指定了。
action接受到用户名和密码的时候,调用service来处理,在sercie中会做一些这样判断:
if(用户名 密码都正确){
//则登录成功 浏览器跳转到欢迎界面
}
这样就完成了整个请求,至于怎么验证用户名和密码,这就需要sercie去调用dao层中的方法,从数据库里取出密码和用户名来做对比,如果正确则欢迎,错误则提示重新登录之类的
public class bean{
private String name;
public String getName() {return name;}
public void setName(String name) {this.name = name;}
}
在action.java中
bean bn=new bean();
bn.setName("张三")
然后 把bn传给dao.java
在dao.java中
bn.getName();
得到name的值“张三”