本节课关于类的使用,主要问题在于继承的学习。
继承的优点
主要是为了简化代码(虽然感觉逻辑上变复杂了点,但代码量大大减少)
使用继承的原因
即使是抽象的不同类之间,也会有许多性质和行为(属性,方法)是相同的,因此可以事先将这些相同的属性和方法单独令为一个新的类。以达到简化代码的目的。
继承的使用规则
第一步
在新的类中将各种相同的属性和方法作为属性和方法定义出来。(下面将这个类称为父类,将使用这些属性和方法的类称为子类)
第二步
在定义子类时,将原本的语句由
public class 子类名 () {}
改为
public class 子类名 extends 父类名(){}
第三步
此时,在父类中定义的属性和方法已经完全被子类接收到。相当于在子类中把父类的属性和方法又写了一遍。可以对这些属性和方法进行直接引用。
需要注意,有些属性或方法在父类中只被抽象地定义出来,并没有具体赋值。这时就需要在子类中对这些属性或方法进行具体赋值。
对于属性来说,通常会在父类中定义一个初始化方法,将需要赋值的属性作为输入变量进行定义。这时在子类中只需要定义一个新的方法,在新定义的方法中引用初始化方法,将需要赋值的变量依次作为输入变量输入即可。
对于方法来说,现阶段遇到的问题只会是父类方法中的某些变量需要额外赋值,这些需要赋值的变量依然是作为输入变量出现,在子类中定义新方法并引用即可。(在子类中的操作和属性是一样的,因为对于属性来说,实际上也是引用了一个初始化方法而已)
小tips
在子类中,可以定义结构化方法(好像是这个名字)。他的作用是能且只能被引用一次。(如果这个方法有输入变量的话,那么他必须被引用)、
定义方法如下
public 子类名(){}
一定要是子类名,否则不被识别为结构化方法。
小括号中为输入变量,这个输入变量在new一个新的类时直接输入在新类的小括号里。
eg,如果已经在名为chunLi的类中定义了结构化方法,并且有一个名为ID的,数据类型为String的输入变量。那么new新类的时候,相关代码如下。
chunLi cl=new chunLi(ID:"dd很大");
基本上就这么多,有想到的再补充。