A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了面向对象三大特性的第二个,继承。请根据自己的理解,回答下面问题。
1.什么是方法的重写?集成后方法重写要注意哪几点?答:方法重写是,子类继承父类后,对父类的方法进行再次改动称为方法重写,如一个人他的父亲学习能力非常强大,而儿子也继承了父亲优秀的基因,学习能力也非常强大,但是父亲因为学习能力强大,而做的科学家,儿子却靠着这项能力,做的其他优秀的职业,这里把学习能力比较一个方法,那儿子就是重写了父亲的方法。
2.注意事项有以下几点:
     2.1、参数列表必须完全与被重写的方法相同,要不然就不是重写了而是重载,并且方法名和参数也必须是完全一致的若方法名不同就不是重载也不是重写,而是自己定义的成员方法了。
      2、方法的返回的类型必须一致 必须与被重写的方法的返回类型相同否则不能称其为重写而是重载
      3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)这里我们用idea生成一般都会自动写上。

            
2.什么是抽象类?抽象类的作用?
答:1.抽象类为描述一个不是很具体的事物的时候才称为抽象类,如人类,动物类,只要不是一个具体的实例都可以看出一个抽象的事物,
       2.抽象类诞生主要是为了提高代码的复用性,让代码结构,层次,关系,分明,让一些大家都有的基本属性,行为都给抽取出来,所有的类都只继承这个类就可以了,就             可以做到一些大家都有的属性,只需要定义一次所有的类都可以有。
3.抽象类使用时要注意哪些?
答:1.抽象类使用的时候要注意,抽象方法不能有方法体,有抽象方法的类必须是抽象类,抽象方法可以有构造方法。抽象方法不能被实例化
4.请根据自己的理解谈谈抽象和继承存在的意义

答:1.抽象类存在的意义 第二题的第二项我有回答,我认为这个就是抽象类存在的意义,
      2. 继承存在最主要的意义我也认为是提高代码的复用性,还有就是可以对功能方法进行扩展,如继承自A类,如果后期系统需要更新我们直接在原来的方法后面super原来     的功能后,在重写该方法,加上我们的新功能,若没有继承的话,我们所有的具有共性的代码都需要自己每个类的挨个去定义。
3.其实我认为抽象和继承其实是分不开的,如果只有抽象类,就算定义了抽象类因为是抽象的他不能被实例化,其实是没有意义的,必须有子类继承他并且实现它的抽象方法。

点评

抽象类存在的意义更多的是起到规范作用,提高代码复用性是继承的主要特性,抽象类的存在就是为了继承,否则抽象类没有存在的意义  发表于 2018-12-11 15:16
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马