欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Day24

时间:2023-06-12
面向对象08.09 封装详解

该露的露,该藏的藏

我们的程序设计要追求“ 高内聚,低耦合 ” 。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

封装(数据的隐藏)

通常,应该禁止直接访问一个对象中数据的实际表示,而对应的通过操作接口来访问,这称为信息的隐藏。

记住这句话就够了:属性私有,get / set

package Demo04;public class Student { private String name ; private int age; private int Id ; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return Id; } public void setId(int id) { Id = id; } public void mostBest(){ System.out.println(this.name+" 取得最好成绩"); System.out.println("年龄 "+this.age); System.out.println("学号 "+this.Id); }}-------------------------------------------------- package Demo04;public class Application { public static void main(String[] args) { Student student_1 = new Student(); student_1.setName("小明"); student_1.setAge(12); student_1.setId(2333); student_1.mostBest(); }}===========================================小明 取得最好成绩年龄 12学号 2333Process finished with exit code 0

什么是继承

集成度额本质是对某一批类的抽象,从而实现对现实世界更好的建模。

extends 的意思是“ 扩展 ”,子类是父类的扩展。

JAVA 中类只有单继承,没有多继承!

继承是类和类之间的一种关系。除此之外,类和类的之间的关系还有依赖、组合、聚合等。

继承关系的两个类,一个为子类(派生类),一个为父类(基类)。使用关键词extends 来表示。

子类和父类之间,从意义上说应该具有“ is a ''的关系。

子类继承了父类,就会拥有父类的全部方法

object 类

super

方法重写

package Demo05;public class Students { private String name; private int age; private int Id; // ctrl + h 调出结构树 public void grade() { System.out.println(this.name + "成绩优秀"); System.out.println(this.age); System.out.println(this.Id); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return Id; } public void setId(int id) { Id = id; }}------------------------------------package Demo05;public class class_1 extends Students{}---------------------------------------package Demo05;public class Application { public static void main(String[] args) { class_1 person_1 = new class_1(); person_1.setName("李华"); person_1.setAge(11); person_1.setId(233); person_1.grade(); }}==================================李华成绩优秀11233Process finished with exit code 0

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。