专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)

2024-09-18
| 41页
| 172人阅读
| 2人下载
精品

内容正文:

面向对象程序设计(二) 计算机程序设计 专题复习讲练测 电工版第二版 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 考纲要求 一 考试内容: 抽象类;封装、继承、多态;访问权限。 知识点要求: 1.封装、继承、多态的基本概念。。 4.掌握类的继承、子类的声明、super、this、方法覆盖。 5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。 6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。 知识点梳理 二 封装 封装就是类的设计者只为使用者提供类对象可以访问的部分(包含类的成员变量和 方法),而对于类中其他成员变量和方法都隐藏起来,用户不能访问。 封装涉及的几个方面: (1)在类的定义中设置对对象中的成员变量和方法进行访问的权限; (2)提供一个统一供其他类引用的方法; (3)其他对象不能直接修改本对象所拥有的属性和方法。 知识点梳理 二 封装 Java提供了四种访问修饰符,用于控制类、方法和变量的访问级别。 访问修饰符 类内部 同一包内 子类(不同包) 全局 public 是 是 是 是 protected 是 是 是 否 default(没有修饰符) 是 是 否 否 private 是 否 否 否 知识点梳理 二 封装的好处 隐藏实现细节 外部不需要知道类的内部是如何工作的,只需要通过暴露的接口来使用类。 提高安全性 通过设置访问权限,可以防止外部直接访问和修改类的内部状态。 提高易用性 对外提供简单的接口,使得类更易于使用。 便于修改和维护 由于外部只能通过接口与对象交互,因此在修改实现时,只要接口保持不变,就不会影响到其他代码。 知识点梳理 二 封装步骤 1. 私有化成员变量 将类的成员变量设置为私有,这样就不能直接从类的外部访问和修改这些变量。 知识点梳理 二 封装步骤 2. 提供公共的访问方法(getter和setter) 提供公共的方法来获取(getter)和设置(setter)私有变量的值。 知识点梳理 二 封装步骤 3. 构造方法 可以使用构造方法来初始化对象的状态。 知识点梳理 二 继承 Java的继承是面向对象编程中的一个核心概念,允许根据现有的类创建新的类。新的类称为子类(或派生类),而被继承的类称为父类(或基类、超类)。子类继承了父类的方法和状态,同时还可以添加新的方法和状态,或者覆盖(override)父类的方法。 继承的基本语法 在Java中,继承通过 extends 关键字实现。 知识点梳理 二 继承 继承的特点 (1)单继承:Java不支持多重继承,一个类只能有一个直接父类。 (2)传递性:如果类A继承自类B,类B继承自类C,那么类A也间接继承类C。 继承的好处 (1)代码复用:子类可以复用父类的方法和属性,减少代码冗余。 (2)扩展性:子类可以添加新的方法或属性,对父类进行扩展。 (3)维护性:通过继承,可以集中处理共有的行为和属性,便于维护 知识点梳理 二 继承 继承的限制 (1)私有成员不可继承:子类不能继承父类的私有成员(private),但可以继承父类的公有(public)、受保护的(protected)和默认(default)成员。 (2)构造方法不可继承:子类不能继承父类的构造方法,但可以在子类的构造方法中通过 super 关键字调用父类的构造方法。 知识点梳理 二 继承 方法覆盖(Override) 子类可以覆盖父类的方法,以提供不同的实现。使用 @Override 注解可以明确表示覆盖意图,并且编译器会检查这个注解。 知识点梳理 二 继承 案例操作: Dog 类继承了 Animal 类,因此 Dog 类的对象可以调用 Animal 类的 eat 方法,同时也可以调用 Dog 类自己的 bark 方法。 知识点梳理 二 多态 多态是指Java 运行时的多态性,是面向对象程序设计中实现代码重用的一种机制。 Java 实现多态的基础是动态方法调用,即父类某个方法被其子类重载时,可以产生自己的功能行为。 多态分类:多态有两种类型: 编译时多态(方法重载)和运行时多态(方法覆盖)。 知识点梳理 二 多态 有继承关系 1 有方法的覆盖 2 有父类引用指向子类对象 3 多态实现的三个条件 知识点梳理 二 多态 多态的用法: (1)使用父类声明作为方法的形参,子类对象作为实参传入。 (2)使用父类声明的数组存储子类的对象。 知识点梳理 二 抽象类 在Java中,抽象类是一种特殊的类,它不能被实例化,但可以包含抽象方法(没有实现体的方法)和具体实现的方法。抽象类通常用于定义一些公共接口和部分实现,然后由子类继承并实现剩余的部分。 抽象类的定义 抽象类使用 abstract 关键字来定义。可能包含抽象方法也可能不包含,但是一旦类包含了抽象方法,该类就必须被声明为抽象类。 知识点梳理 二 抽象类 抽象方法 抽象方法是不包含实现体的方法,它只有方法签名和一个分号。抽象方法也用 abstract 关键字声明。 知识点梳理 二 抽象类的特点 01 抽象类不能被实例化,即不能使用 new 关键字创建对象。 03 抽象类可以有构造器。 05 抽象类可以继承另一个抽象类,并且可以添加新的抽象方法或实现。 02 抽象类可以包含具体实现的方法和抽象方法。 04 抽象类可以包含成员变量,包括非final变量。 06 一个类继承一个抽象类后,必须实现抽象类中的所有抽象方法,除非它自己也声明为抽象类。 知识点梳理 二 抽象类 抽象类的用途 (1)提供公共接口:抽象类可以定义一组接口,然后由子类根据具体情况实现。 (2)部分实现:抽象类可以提供一些方法的实现,子类可以选择性地覆盖这些方法或使用默认实现。 (3)强制子类实现特定方法:通过定义抽象方法,抽象类可以强制子类实现特定的方法。 知识点梳理 二 抽象类 案例: Animal 是一个抽象类,它定义了一个抽象方法 makeSound() 和一个具体实现的方法 sleep()。Dog 类继承自 Animal 类并实现了 makeSound() 方法。在 main 方法中,创建了一个 Dog 类的实例,并将其赋值给一个 Animal 类型的引用,这是多态的体现。 知识点梳理 二 接口 在Java中,接口(Interface)是一种引用类型,类似于类,用于存放抽象方法和静态常量。接口定义了一个规范,规定了实现接口的类应具备哪些方法。这提供了一种标准化的方式来保证不同的类能够相互配合、交互。 接口的定义 接口使用 interface 关键字来定义。接口中可以包含抽象方法和静态常量。 知识点梳理 二 接口的特点 接口中只能定义抽象方法和静态常量。抽象方法没有方法体,静态常量必须是初始化的。 接口不能被实例化,但可以被实现(implements 关键字)或者继承(extends 关键字)。 接口中定义的方法默认是 public 的,即使不显式声明。 一个类可以实现多个接口。 接口中定义的静态常量默认是 public static final 的。 知识点梳理 二 接口 实现接口 一个类通过 implements 关键字来实现接口,并必须实现接口中所有的抽象方法。 知识点梳理 二 接口 案例: Animal 是一个接口,它定义了 makeSound 和 eat 两个抽象方法。Dog 类实现了 Animal 接口,并提供了这两个方法的实现。在 main 方法中, 创建了一个 Dog 类的实例,并将其赋值给一个 Animal 类型的引用,这是多态的体现。 限时练习 三 1. 以下关于Java封装的说法,错误的是( ) A. 封装可以隐藏对象的属性和实现细节 B. 封装可以提高代码的复用性 C. 封装可以通过构造方法为类的属性赋值 D. 封装只能通过private关键字实现 【答案】D 【解析】封装不仅仅是通过private关键字实现,还可以通过其他访问修饰符(如protected)来实现。封装的目的是为了保护对象的数据安全,提高代码的复用性和可维护性。 限时练习 三 2. 以下关于Java继承的说法,正确的是( ) A. Java中一个类只能继承一个类 B. Java中一个类可以同时继承多个类 C. Java中一个类可以继承一个接口 D. Java中一个类可以同时实现多个接口 【答案】D 【解析】Java中不支持多继承,一个类只能继承一个类。但是,一个类可以实现多个接口。 限时练习 三 3. 以下关于Java多态的说法,错误的是( ) A. 多态可以通过方法重载实现 B. 多态可以通过方法重写实现 C. 多态可以提高代码的扩展性 D. 多态可以让不同类型的对象对同一消息做出响应 【答案】A 【解析】多态通常是指子类对象可以赋值给父类引用变量,从而实现同一消息对不同类型的对象做出响应。方法重载是编译时多态,而方法重写是运行时多态。 限时练习 三 4 以下关于Java抽象类的说法,正确的是( ) A. 抽象类不能包含具体实现的方法 B. 抽象类不能包含构造方法 C. 抽象类可以包含静态方法 D. 抽象类不能被实例化 【答案】D 【解析】 抽象类可以包含具体实现的方法、构造方法以及静态方法,但不能被实例化。 限时练习 三 5. 以下关于Java接口的说法,错误的是( ) A. 接口中只能定义抽象方法 B. 接口可以包含成员变量,且默认为public static final C. Java 8+中,接口可以包含默认方法和静态方法 D. 一个类可以实现多个接口 【答案】A 【解析】Java 8+中,接口可以包含默认方法(default修饰)和静态方法(static修饰),不仅仅只能定义抽象方法。 限时练习 三 6.在Java中,通过设置类的属性为private,可以实现数据的封装,防止外部直接访问这些属性。( ) 【答案】正确 【解析】封装的目的是为了保护对象的数据安全,通过将属性设置为private,可以防止外部直接访问,只能通过公共的getter和setter方法进行访问。 限时练习 三 7.在Java中,子类继承父类时,子类会继承父类所有的属性和方法,包括私有的属性和方法。( ) 【答案】错误 【解析】子类可以继承父类的非私有属性和方法,但不能继承父类的私有属性和方法。 限时练习 三 8.在Java中,多态性是指允许不同类的对象对同一消息做出响应。( ) 【答案】正确 【解析】多态性是面向对象编程的核心概念之一,它允许不同类的对象通过共同的接口或父类进行交互。 限时练习 三 9.在Java中,抽象类不能有构造方法。( ) 【答案】错误 【解析】抽象类可以有构造方法,且构造方法在子类实例化时会先调用父类的构造方法。 限时练习 三 10.在Java中,抽象类和接口都不能被实例化,但可以创建它们的引用变量,并指向具体子类的实例。( ) 【答案】正确 【解析】抽象类和接口本身不能被实例化,但可以声明它们的引用变量,并将具体子类的实例赋值给这些引用变量,实现多态。 限时练习 三 11.编写一个Java类Employee,该类包含私有属性name(员工姓名)和salary(员工薪水)。提供公共的getter和setter方法,并在setter方法中添加对薪水的基本校验,确保薪水不能低于0。接着创建一个Manager类继承自Employee,并添加一个私有属性bonus(奖金)。 限时练习 三 【答案】 限时练习 三 12.创建一个Book类,包含成员变量title(书名)和author(作者)。实现一个构造方法用于初始化这些变量,并实现一个方法displayBookInfo()来显示书籍信息。重载构造方法,使得可以只通过书名创建Book对象。 限时练习 三 【答案】 内容小结 五 谢谢 $$

资源预览图

专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
1
专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
2
专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
3
专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
4
专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
5
专题三 面向对象程序设计(二)(课件)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。