- 博客(5)
- 收藏
- 关注
原创 Java基本思想之抽象
仔细观察可以发现,每增加一个新的子类,我们就必须得在父类方法中做相应的修改,才能使新增子类也具备面积计算方法。比如,一家茶饮店,每增加一个新品,就要去父类方法中做相应的改变,作为一个堂堂正正的父类怎么能跟着子类的需求而变化呢?同时,通过在抽象类中定义封装的更改器和访问器,减少了子类的代码重复。当然可以,我们可以用到上面提到的“覆盖”实现子类方法的定义,这样就避免了对父类的修改。因为,我们需要用继承来提供一个规范,规范我们的成员变量和方法(即使没有具体的实现,也要有一致的方法名),没有规范,多态就无从谈起。
2024-03-25 15:24:55
325
原创 Java高级特性之集合ArrayList
这个时候就可以考虑放了3个不同类型的对象,矩形、平行四边形和梯形的共性内容:它们都是四边形类的子类对象,这个时候体现的就是多态的运用:一个对象变量(如代码中的qua)可以指示多种实际类型的现象,很直观的我们看见我们放了三个不同类的对象,但是遍历的时候我们是用qua来依次指向矩形、平行四边形和梯形,自动匹配,父类子用。Test类中的语句块有点啰嗦,同样是创建对象并初始化、调用各对象的面积计算方法,三个对象实现了三次,如果程序中有更多的类,那就又更多的对象,这样的代码片段就很罗嗦絮叨了,这能否优化呢?
2024-03-20 11:42:26
887
原创 Java基本思想之多态
由于矩形类、平行四边形类和梯形类都是继承于四边形父类,所以其方法名一致,可以通过一个父类的对象变量来实现子类的自动匹配,从而简化了代码。Test类中的语句块有点啰嗦,同样是创建对象并初始化、调用各对象的面积计算方法,三个对象实现了三次,如果程序中有更多的类,那就又更多的对象,这样的代码片段就很罗嗦絮叨了,这能否优化呢?这里的填写就需要填写父类,这样才能够在后面通过一个父类的对象来实现子类的自动匹配:表面上看起来。可以指向它的子类对象,这是合法合理合规的,这种现象就是多态。是四边形类不能指向其他类,实际上。
2024-03-19 11:38:00
757
原创 Java基本思想之继承
继承一般应用于类与类较相似的情况下,比如本案例中,矩形类与平行四边形类的成员变量和方法高度相似,可以提取两者的共同代码,构造一个四边形类作为父类,从而避免了重复代码,也方便了后期功能的扩展及维护。继承是一种关系,主要体现为父类与子类的关系。比如我们的面积计算器,可以计算矩形和平行四边形的面积。前面的代码,凸显的是类与对象和构造函数的基本运用,如下。,这与java的精炼思想背道而驰,java不能容忍这种无价值的重复,因为它会衍生出很多的问题。),顾名思义,子类将继承父类所有的成员变量及方法。
2024-03-15 10:28:19
571
原创 Java基本思想之继承覆盖
比如我们的面积计算器,增加了一个功能,就是也能够计算的梯形的面积。规定:矩形和平行四边形的面积计算公式为宽x高;梯形的面积计算公式为(上底+下底)x 高/2。以上案例中展示的是在java中覆盖(Override)的运用,在继承中,父类的有些方法在子类中不适用,子类可以进行重新定义。在本案例中,梯形类对calcuArea方法实现了覆盖。思考:我们仍然可以采用继承来实现,但是梯形的面积计算方法与矩形和平行四边形不同,如何以最简洁的方法实现代码?下面我们再上一次的继承的基础上增加一个类:四边形类的子类—梯形类。
2024-03-13 09:43:34
415
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人