封装

Student,封装

/**
 * 面向对象的三大特征:封装性
 * 当我创建完对象以后,我如果直接通过"对象名.属性名"的方式给属性赋值的话,可能会出现一些不符合实际情况的问题,
 * 所有我们不考虑使用"对象名.属性名"的方式赋值,而是通过"对象名.方法名()"的方式进行赋值,因为我可以在
 * 方法里面加上大量的业务逻辑,对属性值进行限制
 * 
 * 解决方式:
 * 1.将属性私有化
 * 2.提供公用的(get and set)方法实现属性的取值和赋值
 * 
 */

public class Student {
	int stuNo;//学号
	String stuName;//姓名
	//private:私有的,用private修饰的属性和方法只能在当前类的内部去调用
	private int age;//年龄
	
	//个人描述
	public void desc(){
		System.out.println("我的学号是:"+stuNo+",我叫"+stuName+",我的年龄是:"+age);
	}
	
	//给年龄属性赋值
	public void setAge(int age1){
		//如果年龄大于等于0岁,小于等于150岁,给age属性赋值
		if(age1>=0 && age1<=150){
			age=age1;
		}else{
			System.out.println("你输入的年龄不合法");
		}
		
	}
	
	//定义一个方法获取年龄值
	public int getAge(){
		return age;
	}
	
}

 

 

TestStudent,测试

public class TestStudent {

	public static void main(String[] args) {
		
		//创建一个学生对象
		Student stu=new Student();//new的就是一个构造方法
		//通过对象对属性赋值
		stu.stuNo=1001;
		stu.stuName="张三";
		//stu.age=-18;//必须满足int类型
		stu.setAge(18);
		//还是可以直接通过对象名.属性名的方式赋值
		//如果不让他通过stu.age方式调用属性,是不是就可以了?
		//stu.age=-18;
//		stu.age=-18;
		
	    //我想直接调用属性,输出age属性值
		System.out.println(stu.getAge());
		
		
		
		stu.desc();

	}

}

 

School,构造方法

/**
 * 在我们去创建对象的时候,会用到一个特殊的方法叫做构造方法,构造器
 * 
 * 怎么去创建一个构造方法?
 * public 构造方法名(形参){
 * }
 * 
 * 注意:
 * 1.构造方法没有返回值
 * 2.构造方法名必须和你当前类的名字一致,包括大小写
 * 
 * 
 * 作用:
 * 1.创建对象,new的时候就是调用了构造方法
 * 2.在创建对象的同时,我们可以调用有参的构造方法直接对属性赋值
 * 
 * 构造方法是一个方法,他可以进行方法重载吗?
 * 可以
 * 
 * 注意:
 * 如果没有显示的定义构造方法,系统会默认的提供一个无参的构造方法
 * 如果显示的定义了一个构造方法,系统不会在提供,需要我们手动的创建一个无参的(注意)
 *
 */
 

public class School {
	
	private String name;//校名
	private String address;//地址
	
    public String getName(){
    	return name;
    }
    //第一种方式使用set方法给属性赋值
    public void setName(String name1){
    	name=name1;
    }
    
    public String getAddress(){
    	return address;
    }
    
    public void setAddress(String address1){
    	address=address1;
    }
    
    //创建一个构造方法
    public School(){
    	System.out.println("无参构造方法执行了");
    }
//    
    public School(String name1){
    	name=name1;
    }
    //第二种方式使用构造方法给属性赋值
    public School(String name1,String address1){
    	name=name1;
    	address=address1;
    }
}

 

TestSchool,测试

public class TestSchool {

	public static void main(String[] args) {
		
		
//		School sc1=new School("海大");
//		System.out.println(sc1.getName());
		//创建一个学校对象
		System.out.println("===========使用set方法给属性赋值");
		School sc=new School();//new后面就是调用了构造方法
		sc.setName("国际希望小学");
		sc.setAddress("山东济宁");
		System.out.println("校名:"+sc.getName()+",地址:"+sc.getAddress());
		
		System.out.println("==============使用构造方法给属性赋值");
		//new对象的同时给属性赋值,省去了set方法的麻烦,针对多个属性同时赋值
		School sc1=new School("枣庄学院", "枣庄");
		//set针对于单个变量进行更改
		sc1.setName("枣庄大学");
		
		System.out.println("校名:"+sc1.getName()+",地址:"+sc1.getAddress());

	}

}

 

Person,this关键字的使用

/**
 * 成员变量和局部变量出现重名时,方法会根据“就近原则”使用局部变量的值,
 * 如果想区分成员变量和局部变量我们可以使用this关键字
 * 
 *格式:
 *this.成员变量
 *
 *什么是this?
 *1.this代表当前使用的对象或者是正在创建的创建的对象,通过那个对象调用了方法谁就是this
 *2.this可以修饰成员变量、方法、构造方法      直接在成员变量名或者成员方法名前面加上this
 *3.可以在构造方法中通过"this(形参)"的方式调用本类其他构造方法
 *注意:在构造方法内部this("形参")必须放在首行
 * 如果一个类里面有N个构造方法,那么最多有n-1个构造方法内部使用了this()
 *
 */

//打招呼
public class Person {
	private String name;//自己名字
	private int age;//年龄
	public String getName(){
		return name;
	}
	
	public void setName(String name){
		this.name=name;
	}
	
	public int getAge(){
		return age;
	}
	public void setAge(int age){
		this.age=age;
	}
	
	//打招呼
	public void sayHello(String name){//对方的名字
		System.out.println(this.name+"对"+name+"说:小老弟,来跟华子!");
		this.eat();
	}
	
	//成员方法
	public void eat(){
		System.out.println("人吃饭");
		this.age=12;//this.age=12;
	}
	
	public Person(){
		this("张三");
		System.out.println("Person无参构造方法");
		
	}
	public Person(String name){
		this(19);
		this.name=name;//改成了张三
		System.out.println("Person带name参数的构造方法");
	}
	
	public Person(int age){
		this("李四",18);
		this.age=age;//改成了19
		System.out.println("Person带age参数的构造方法");
	}
	
	public Person(String name,int age){
//		this();
		this.name=name;
		this.age=age;
		System.out.println("Person带name和age两个参数的构造方法");
	}
	
	
}

 

TestPerson

public class TestPerson {

	public static void main(String[] args) {
		//创建一个人类对象
//		Person p=new Person();
//		p.setName("尼古拉斯赵四");//给自己的名字赋值
//		p.sayHello("刘能");//给对方的名字赋值
		
		Person p=new Person();
		System.out.println(p.getName()+":"+p.getAge());

	}

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值