封装与继承

为何使用封装
读懂别人的代码也是程序员必备的技能之一
案例中的代码有什么缺陷?
Penguin p =new
Penguin();
p.health=-100;
以上代码中属性随意访问,有着不合理的赋值
流程控制(选择结构,循环结构等)必须要在方法中写!!
这时就需要用到封装
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,这就叫做封装

封装的两大原则
把所有的属性藏起来
把尽可能多的东西藏起来,对外提供便捷的**’‘接口’’**
封装
将类的某些信息(属性)隐藏在类内部,不允许外部程序直接访问
通过该类提供的方法来实现对隐藏信息的操作和访问
面向对象的三大特征之一
实现封装

在前面加private 私有的,其他人访问不到
对电子宠物属性封装后输出
宠物狗狗类
/**
* 宠物狗狗类
*/
public class Dog {
private String name = "无名氏"; // 昵称,默认值是"无名氏"
//1.health属性不被用户访问到 2.程序编写过程中要能控制health的赋值--方法中
//1.隐藏属性 int前加private
private int health =100; // 健康值,默认值是100,健康值在0-100之间,小于60为不健康
private int love = 0; // 亲密度
private String strain = "聪明的拉布拉多犬"; // 品种
//2.添加属性的setter(设置)/getter(获取)方法,并加入属性控制语句
//以set为前缀后面写隐藏起来的变量名字
//set是设置方法
//setter:属性赋值,属性的操作(正确的判断筛选等)
public void setHealth(int health) {
if(health<0 ||health>100){
System.out.println("宠物的健康值只能在0-100之间!");
this.health = 60;
//return跳转出去
return;
}else{
//方法间直接调用
this.health = health;
}
}
//getter:属性取值
//获取health属性
public int getHealth(){
return this.health;
}
public void setName(String name) {
this.name=name;
}
public String getName() {
return this.name;
}
public void setLove<

本文详细介绍了Java中的封装与继承概念。封装是面向对象的三大特性之一,通过使用private关键字隐藏类的属性,提供setter和getter方法来实现属性访问。封装有助于提高代码的安全性和可维护性。接着讲解了包的使用,包括包的作用、创建包、导入包以及访问权限控制。文章还探讨了static变量和方法,以及静态代码块的作用。最后,文章阐述了继承的概念,强调了Java中的单根继承特性,并解释了子类可以继承父类的哪些内容。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



