java三大特性——封装

/*
面向对象的语言三大特征:
	1. 封装
	2. 继承
	3. 多态



封装的步骤:
	1. 使用private修饰需要被封装的属性。
	2. 根据需求提供公共的方法set或者get方法获取以及设置该私有属性的值。
		方法的命名规范:
			set属性名 或者  get属性名


封装的好处:
	1. 提高了数据的安全性。
	2. 操作简单。
	3. 隐藏了实现。
	

疑问1 :封装的应用场景? 
	如果一个属性不想被其他人直接的访问,那么这时候就可以使用封装。

	现实开发中的实体类的成员属性(成员变量)一般我们都会封装起来。


实体类:用于描述一类事物的类则称作为实体类。   比如: class Car{ }  class Student



疑问2:封装一定需要提供get方法和set方法吗?
	
	不一定,看使用这个类的人需要需要使用到(看需求).  






权限修饰符: 权限修饰符就是用于控制变量或者方法的可见范围。

public : 公共, public 修饰的变量或者方法可以在任何范围内可见。

private : 私有的, private 修饰的变量或者是方法只能在本类中可见。


问题:出现了性别错乱的问题。


需求: 使用java类描述一个世纪佳缘网站的会员。
*/

//
class Menber{
	
	public String userName; 	//用户名
	
	private	String sex; // 性别

	private int age; //年龄  

	public	int salary;  //收入


	//提供一个公共的方法设置性别
	public void setSex(String s){
		if(s.equals("男")||s.equals("女")){
			sex = s;
		}else{
			//默认是男
			sex = "男";
		}
	}


	//提供一个公共方法获取性别
	public String getSex(){
		return  sex;
	}


	public void meet(){
		System.out.println("姓名:"+ userName+ " 性别:"+ sex+" 收入:"+ salary);
	}
}


class Demo7 
{
	public static void main(String[] args) 
	{
		Menber m = new Menber();
		
		//给会员赋予属性值
		m.userName = "狗娃";
		m.setSex("女");
		m.salary = 10000;
		System.out.println("姓名:"+ m.userName+ " 性别:"+ m.getSex()+" 收入:"+ m.salary);
		
	}
}

练习题:需求:使用java类描述一个计算器,计算器具备 的公共属性: 操作数1 、操作数2 、 运算符.

公共的功能:运算。 

要求: 计算器的属性需要封装起来,不能直接对计算器的属性赋值。 

class Computer{
	//定义操作数和操作符
	private int num1;
	private int num2;
	private char option;


    //提供公共方法设置计算器的属性
	public void init(int n1, int n2, char o){
		if(o=='+'||o=='-'||o=='*'||o=='/'){
			option = o;
		}else{
			option = '%';
		}
		num1 = n1;
		num2 = n2;
	}
		//计算功能
		public void calculator(){
			switch(option){
				    case'+':
					System.out.println("加法运算: "+(num1+num2));
				    break;
					case'-':
					System.out.println("减法运算: "+(num1-num2));
				    break;
					case'*':
					System.out.println("乘法运算: "+(num1*num2));
				    break;
					case'/':
					System.out.println("除法运算: "+(num1/num2));
				    break;
		}
	}
}



class dx4 
{
	public static void main(String[] args) 
	{
		Computer c = new Computer();
		//设置计算器的属性运算
		c.init(12,2,'+');
		c.calculator();
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值