Java面向对象之封装

面向对象之封装

封装的两层含义

  • 对功能的封装:比如我们的方法,方法就是一个功能的实现.
  • 对数据的封装:属性(比如手机的价格,屏幕等等)

封装的表现

  • 方法就是一个最基本的封装.
  • 其实就是一个封装体,

封装的好处

  • 1.提高代码的复用性.
  • 2.隐藏实现细节,对外提供可以访问的方法.便于使用者去使用,这是核心之一,也就是理解为封装的概念.
  • 3.提高了安全性.
举例
    • 属性
      • 姓名
      • 年龄
      • 身高
      • 体重
    • 方法
      • 吃饭
      • 睡觉
      • 玩游戏
	public class Person{
    String name;
    int age;
  	public void eat(){
        System.out.println(name + "在吃饭");
  	}
}
public class PersonDemo{
   public static void main(){
    	//创建Person的对象
        Person person = new Person();
        person.name="人妖";
        person.age = "18";
        p.eat();
   }
}
  • 通过上述的代码,我们用Java代码把Person描述清楚了,但是有一个很严重的问题,就会Person中的属性是可以直接访问的.这样不安全.
  • 怎么才能不让直接访问呢?
    • 需要使用Java中的一个关键字private(私有,权限修饰符).只要将Person的属性和行为私有化起来,这样就无法直接访问,
私有化属性
public class Person{
    private String name;
    private int age;
	
	/*
		提供set与get方法
	*/
	public void setName(String name){
        this.name = name;//this代表本类对象
	}
	public String getName(){
        return this.name;
	}
	
	public void setAge(int age){
        this.age = age;
	}
	public int getAge(){
        return this.age;
	}
	
    public void eat(){
        System.out.println(name + "在吃饭");
    }
}

public class PersonDemo{
 	public static void main(String[] args){
        Person person = new Person();
        //现在 person.name = "人妖";是行不通的,那我们要肿么办呢?
    	person.setName("小则");
 	}   
}
总结
  • 1.类中不需要对外提供的内容都私有化,包括属性和方法,
  • 2.以后再描述事务,属性都私有化,并提供setXxx ,getXxx方法对其进行访问,
  • 3.**注意:**私有仅仅是封装的体现形式而已.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值