初学Java---面向对象编程-多态学习


Unit11 多态 部分学习笔记


一、什么是多态?

  • 答:多态(OOP三大特征之一):
    • 一个对象表现出多种形态。
    • 编程角度看:子类对象被声明为父类类型。

二、多态发生的条件:有继承关系或实现关系。

  • 多态的分类:
    • 1.继承类
    • 2.实现接口
1.继承(类)关系:
public class Person { 
	String name;
}
class Student extends Person { 
	int age; 
	public static void main(String[] args) {
		/*没有多态*/
		Person p = new Person();
		/*多态:子类对象被声明为父类类型 */ 
		Person zhangsan = new Student();
		Person lisi = new Student();
		/*类比*/
		double grade = 98;
	}
}
2.实现关系(接口):
interface IPerson {
	public void speak();
}
class Worker implements IPerson{
	@Override
	public void speak() { 
		System.out.println("hello");
	} 
	public static void main(String[] args) {
		IPerson wangwuIPerson = new Worker();
	}

三、为什么使用多态?

  • 1.增强方法的适用性
  • 2.有利于方法的重用
  • 3.软件的扩展。

四、发生多态最多的是:

  • 1.方法传参
  • 2.变量赋值

五、instanceof的作用是什么?

  • 1.Java中的关键字
  • 2.判断对象的类型,返回值是布尔类型(true or false)
  • 3.instance:实例,其实就是对象,创建对象也叫实例化。

六、虚方法调用:

  • 1.虚方法调用:与方法重写有关
  • 2.多态情况下:如果子类重写了父类的方法,方法的调用以子类为准。
public class Animal {
	public void bark() {
		System.out.println("~~~~");
	}
}
class Dog extends Animal {
	public void bark() {
		System.out.println("wangwang~~~");
	}
	public static void main(String[] args) {
		Animal animal = new Animal();
		animal.bark();
		
		Dog erha = new Dog();
		erha.bark();
		//子类对象被声明为父类类型
		Animal dongwu = new Dog();
		//面试题:输出什么?wangwang~~~
		dongwu.bark();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《C++面向对象高效编程 第2版》是一本关于C++编程的书籍。本书主要介绍了面向对象编程的概念、原则和技巧,以及如何利用C++语言进行高效的面向对象编程。 在书中,作者详细讲解了C++的面向对象特性,包括封装、继承和多态等。同时,还介绍了C++中的其他重要特性,如模板、异常处理和STL库等。这些知识点的讲解结合了大量的例子和实践,使读者能够更好地理解和应用这些概念。 本书在第2版中进行了更新和扩充,添加了新的内容,涉及了现代C++的一些特性和技术,如智能指针、移动语义和并发编程等。这些新的内容可以帮助读者更好地应对现代软件开发的需求和挑战。 与此同时,本书还提供了大量的编程实践和案例,帮助读者掌握实际的编程技巧和经验。通过这些实践,读者可以学习到如何编写高效、可复用和易于维护的C++代码。 总之,《C++面向对象高效编程 第2版》是一本适合C++初学者和有一定经验的程序员阅读的书籍。它不仅介绍了面向对象编程的基本概念和技巧,还提供了大量的实例和编程实践,帮助读者掌握C++语言的高效应用。无论是想深入学习C++面向对象编程的基础知识,还是想了解C++中一些高级特性的使用,这本书都是一本值得推荐的参考书。 ### 回答2: 《C++面向对象高效编程 第2版》是一本关于C++面向对象编程的经典教材。本书的PDF版本可以在网络上进行搜索和获取。该书全面介绍了对象、类、继承、多态等C++面向对象编程的基础知识,同时还深入讲解了C++的高效编程技巧和最佳实践。 在本书中,作者详细解析了C++的语法和特性,并提供了大量的示例代码和演示,以帮助读者更好地理解和掌握面向对象编程的概念和技术。此外,本书还介绍了一些高级主题,如异常处理、模板编程、STL等,在帮助读者提高编程能力的同时,也为读者拓宽了编程思维。 通过学习《C++面向对象高效编程 第2版》PDF版,读者可以系统地学习C++面向对象编程的知识,深入理解面向对象编程的原理和思想,并能够灵活运用这些知识进行开发和设计。同时,本书还提供了一些经验和技巧,帮助读者编写出高效、可维护的C++代码。 总而言之,该书是一本重要的学习资料,不仅适合初学者入门,也适合有一定C++编程基础的开发者进一步提升自己的编程水平。通过阅读《C++面向对象高效编程 第2版》PDF版,读者将能够系统学习C++面向对象编程,并在实际开发中运用所学知识,提升自己的编程能力。 ### 回答3: 《面向对象高效编程 第2版》是一本关于面向对象编程的书籍,主要介绍了面向对象编程的原理、思想和最佳实践。 在这本书中,作者首先介绍了面向对象编程的基本概念,包括类、对象、继承、多态等。然后,作者详细介绍了如何有效地使用面向对象编程进行软件开发。他提出了一些实用的技巧和方法,帮助读者更好地理解和应用面向对象编程的思想。 除了介绍基本的面向对象编程理论外,这本书还提供了大量的案例和示例代码,帮助读者实际运用所学知识解决实际问题。这些案例涵盖了不同领域的应用,包括图形界面、网络编程、数据库操作等,让读者能够从不同角度了解面向对象编程的实际应用场景。 此外,这本书还介绍了一些常用的面向对象编程语言,如Java、C++和Python等。作者通过比较不同的编程语言特点和应用场景,帮助读者选择合适的编程语言,并指导读者如何在具体的编程语言中高效地实践面向对象编程。 总之,《面向对象高效编程 第2版》是一本很好的面向对象编程学习资料。无论是初学者还是有一定经验的开发者,都能从中获取到宝贵的学习经验和实践技巧。通过阅读这本书,读者能够对面向对象编程有更深入的理解,提升自己在软件开发中的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕兮IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值