day12

本文介绍了面向对象编程的核心概念,包括类的创建和对象的实例化。通过示例展示了如何在Java中定义一个类并创建其对象。同时,详细阐述了类的封装原则,如数据私有化和使用getter/setter方法,以实现信息隐藏和保护数据。通过封装,可以提高代码的内聚性和降低耦合性,减少错误输入,确保数据安全。
摘要由CSDN通过智能技术生成

第十二天 类与对象的创建 封装

1.类与对象的创建:

(1)面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

(2)类是抽象的 实例化的。

(3)类实例化后会返回自己的一个对象。

/类和对象的创建
    //面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
public class People {
    //类: 抽象的 实例化
    //类实例化后会返回自己的一个对象
    //people对象就是一个People类的具体实例
    int age;
    String name;
    //方法
    public void People(){
        System.out.println("这个角色的名字是  "+this.name+"  这个角色的岁数是  "+this.age);
    }
}
/*
   测试类:
   public class Test {
    public static void main(String[] args) {
        People sllh = new People();
        People xg = new People();
        sllh.name = "神里绫华";
        sllh.age = 14;
        xg.name = "宵宫";
        xg.age = 18;
        sllh.People();
        xg.People();
    }
}
 */

(4)例如以上代码 对象people就是一个People类的具体实例

2.类的封装

(1)程序的设计要追求:高内聚低耦合的原则 高内聚就是类的内部数据操作由自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

(2)封装:通常,应禁止直接访问对象中数据的实际表示,而应通过操作接口来进行访问,这样的方法称为信息隐藏。

(3)定义属性私有使用 get/set

package fangFa;

public class Fz {
    //封装:高内聚低耦合
    //定义私有属性
    private String name;
    private int age;
    //使用get和set接口来获取和修改私有属性 可以保护数据
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        //使用get/set时 定义方法可以防止错误输入保护代码
        if(age>120 || age<0){
            this.age=3;
        }else
        this.age = age;
    }
}
/*
测试类:
public class Test {
    public static void main(String[] args) {
        Fz fz = new Fz();
        fz.setName("神里绫华");
        fz.setAge(15);
        System.out.println(fz.getName());
        System.out.println(fz.getAge());
    }
}

 */

(4)从以上代码看出封装就是使用private修饰符对数据进行私有化,然后使用get/set接口来对私有的数据进行访问;通过对get/set接口方法的一些改写可以起到减少用户错误输入等,以达到保护数据的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值