您的位置:首页 > 编程语言 > Java开发

java日常学习:封装及其使用

2017-10-28 14:30 225 查看

java代码段

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 Member{
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 demo1
{
public static void main(String[] args)
{
Member m = new Member();

//给会员赋予属性值;
m.userName = "狗娃";
m.setSex("女");
m.salary = 10000;
System.out.println("姓名:"+ m.userName+ " 性别:"+ m.getSex()+" 收入:"+ m.salary);

}
}


java封装练习:简单计算器

/*
需求:使用java类描述一个计算器,计算器具备 的公共属性: 操作数1 、操作数2 、 运算符.
公共的功能:运算。
要求: 计算器的属性需要封装起来,不能直接对计算器的属性赋值。
*/
//创建一个计算器类;
class Caculator {
private int num1;    //操作数num1;
private int num2;    //操作数num2;
private char option; //操作运算符;

//提供公共的方法设置计算器的属性(此处是偷懒的做法,理应set然后get);
public void init(int n1,int n2,char o){
if (o=='+'||o=='-'||o=='*'||o=='/'){
option = o;
}else{
System.out.println("智障输入错误");
}
num1 = n1;
num2 = n2;
}
//运算的功能;
public void caculate(){
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 demo2 {
public static void main(String[] args)
{
//创建计算器对象;
Caculator c=new Caculator();
//设置计算器的属性值;
c.init(14,13,'+');
//调用计算器的计算功能;
c.caculate();

}
}


总结:封装常用于那些不想让别人自己随意修改和输入的地方。

第一步:要设置set方法,方法里就是不想随意修改的判断条件。例如:

public void setSex(String s){
if(s.equals("男")||s.equals("女")){
sex = s;
}else{
//默认是男;
sex = "男";
}
}


第二步:调用get方法,由于下面main方法中要输出封装的内容,但是不能直接调用,所以要加上get方法来返回需要调用的值,例如:

public String get
9452
Sex(){
return  sex;
}


说明:在编写简易计算器的程序中,由于笔者前面阶段一直用记事本来编写程序,打牢基础,但是效率低下,所以封装属性之后没有set和get,直接public使用了封装的属性,不太严谨!

用于平时自己复习回顾,如有错误,欢迎指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: