Java封装与继承(第三周)

一.封装的作用

在Java中,封装是一种将类的属性和方法绑定在一起作为单一的单元的方式,并且隐藏(封装)对象的内部实现细节。封装的主要作用如下:

数据隐藏:

封装可以保护类的内部数据,防止外部代码直接访问和修改。这有助于防止数据被随意修改,从而保持数据的完整性。


安全性:

封装可以提供更高级别的安全性。通过封装,我们可以限制对类的成员的访问,从而防止未经授权的访问和修改。


代码重用:

封装可以使得代码更易于重用。如果一个类已经被封装好了,那么其他类可以很容易地使用这个类的方法,而不需要关心这个类的内部实现。


模块化:

封装有助于实现模块化编程。每个类可以独立地修改和测试,而不会影响其他类。


二.封装时注意事项

在进行Java封装时,有一些注意事项:

私有成员:在Java中,通常使用私有成员(即成员变量或方法前加上private关键字)来实现封装。私有成员只能在其所在的类内部访问。
公共方法:为了允许外部代码与类的内部数据进行交互,我们需要提供公共方法(即方法前加上public关键字)。这些方法通常被称为getter和setter方法,用于获取和设置私有成员的值。
访问修饰符:除了private和public,Java还有protected和默认(即没有修饰符)访问修饰符。protected修饰符表示成员可以在其所在的类和所有子类中访问。默认修饰符表示成员只可以在其所在的包中访问。
封装不是隐藏:封装不仅仅是隐藏类的内部实现细节。更重要的是,封装是为了更好地组织代码,提高代码的可维护性和可重用性。
避免过度封装:虽然封装有很多好处,但是过度封装可能会使代码变得复杂和难以维护。因此,在进行封装时,应尽可能地保持代码的简洁和清晰。


三.封装简单示例

在Java中,封装是一种将类的属性和方法绑定在一起作为单一的单元的方式,并且隐藏(封装)对象的内部实现细节。使用封装,你可以使类的字段(属性)私有,并提供公共的getter和setter方法来访问和修改这些字段。

以下是一个简单的示例,展示了如何在Java中封装一个类:

public class Student {  
  
    // 声明私有字段  
    private String name;  
    private int age;  
  
    // 公共构造函数  
    public Student(String name, int age) {  
        this.name = name;  
        this.age = age;  
    }  
  
    // 公共getter方法来获取name字段的值  
    public String getName() {  
        return name;  
    }  
  
    // 公共setter方法来设置name字段的值  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    // 公共getter方法来获取age字段的值  
    public int getAge() {  
        return age;  
    }  
  
    // 公共setter方法来设置age字段的值  
    public void setAge(int age) {  
        this.age = age;  
    }  
}

 在这个例子中,Student类有两个私有字段:name和age。这些字段不能直接从类的外部访问,而必须通过公共的getter和setter方法来访问和修改。这就是封装的基本概念,也是面向对象编程(OOP)的一个核心原则。

四.继承

在Java中,继承是一种面向对象编程的核心概念,它表示一个类(子类)可以继承另一个类(父类)的属性和方法。子类可以继承父类的所有公共和受保护成员,同时也可以添加自己的成员和方法来扩展其功能。子类还可以重写父类的方法,以实现自己的特定行为。

继承关系中的基本术语:

父类(超类):被继承的类,提供共享的属性和方法。
子类(派生类):继承父类的类,可以添加新的属性和方法,也可以重写父类的方法。
继承:子类自动获取父类的所有公共和受保护成员的过程。
重写(覆盖):子类提供与父类相同名称和参数的方法,以实现自己的特定行为。
Java中的继承是通过extends关键字来实现的。例如:

public class Animal {  
   // 公共属性和方法  
}  
  
public class Dog extends Animal {  
   // Dog类继承了Animal类的所有公共和受保护成员,并可以添加自己的成员和方法  
}
在这个例子中,Dog类继承了Animal类,因此Dog类可以访问Animal类的所有公共和受保护成员,并可以添加自己的成员和方法来扩展其功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值