面向对象--封装

在学习java时,大家都会学到面向对象的概念,并在以后的工作和学习中常常遇到他。众所周知,面向对象有三大基本特征,即封装、继承、多态。今天这篇文章,就是要为大家介绍一下面向对象的封装。


一、什么是封装

在编程过程中,我们可以通过 对象.成员名 方法来调用和修改对象的属性。但是,在大多情况下,对象的属性是需要被保护的,这样随随便便地使用对象的属性是十分不合理的。所谓封装,就是把类中的成员(属性)通过访问修饰符(private/默认defalt/protected/public)来进行约束。
打个比方,把类比作一个房子,房子里的家具们就是各种属性。放自己的东西如果可以让所有的人用,那么这个房子就会很不安全。但是如果规定好了这个定西谁能用,就可以规避这个问题。那么,怎么进行封装呢?


二、封装的一般做法

1、把属性修饰为private

这样做可以保护属性
例:

//学号
private int sNo ; 

2、根据需求构建get()、set()方法

以下都可以用快捷键Alt+Ins

get()、set()方法就相当于给使用属性开的门
例:

public int getsNo() {
        return sNo;
    }
public void setsNo(int sNo) {
        this.sNo = sNo;
    }

使用的时候如下:

Student stu = new Student(20,"张三");//创建对象stu
stu.getsNo();
stu.setsNo(30);

3、构建合理的构造方法

构造方法就是用类创建对象时用的方法,没有的话就不能用这个类创建对象。
例:

创建有参构造

public Staff(int sNo, String name) {
       this.sNo = sNo;
       this.name = name;
   }

创建无参构造

public Staff() {
   }

5、创建其他所需方法,修饰为publlic

public void study() {
System.out.println("学生要学习");
   }

5、根据需求创建toString()方法

这个方法就是用来展示所有属性的。如果不用的话,就需要一条一条的get()
用快捷键全选就出来啦

@Override
   public String toString() {
       return "Staff{" +
               "sNo=" + sNo +
               ", name='" + name + '\'' +
               '}';
   }

不满意的可以手动改


三、完整实例

public class Student {
   private int sNo;
   private String name;

   public Student() {
   }

   public Student(int sNo, String name) {
       this.sNo = sNo;
       this.name = name;
   }

   public int getsNo() {
       return sNo;
   }

   public void setsNo(int sNo) {
       this.sNo = sNo;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }
   
   public void study() {
       System.out.println("学生要学习");
   }

   @Override
   public String toString() {
       return "Student{" +
               "sNo=" + sNo +
               ", name='" + name + '\'' +
               '}';
   }
}

都看到这了,点个赞再走呗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值