软件设计师-20,面向对象的程序设计与实现

C++基本语法、Java基本语法、解题技巧、真题讲解

NULL

大纲


image-20231018210327028

C++基本语法


基本概念
  • 类、派生类、类外函数实现

    image-20231018210455693
  • 构造函数、析构函数

    image-20231018211353211
  • 对象指针、对象引用、虚函数、纯虚函数

    image-20231018211815301

代码示例

image-20231019091041411

Java基本语法


基本概念
  • 类和示例

    image-20231019091118914

  • 接口

    image-20231019091144910


程序示例

image-20231019091228510

解题技巧


唠叨
  • 下午考试的第5和第6题是二选一作答,都是填空题,其原理完全相同,只是一个要用C++语言编写程序,另一个要用JAVA语言编写程序。这些填空题主要考查基本语法,几乎不涉及算法,相对于第4题中的算法设计,这些填空题更容易获得满分。

  • 如果你是初学者或者对这两种语言都不太熟悉,我建议专攻JAVA程序题,因为JAVA的语法相对于C++来说更简单,更容易理解和记忆,更容易获得满分。

  • 面向对象的程序填空题可以分为两类。一种是纯定义,如定义接口类、抽象类、接口类中的函数等,这些可以通过程序代码快速判断。

    另一种是关于设计的,需要填写函数体,但这些函数体并不要求编写完整的程序实现代码,而是需要按照调用的形式填写。这些调用函数通常可以在程序中或者在说明和类图中找到,这些题目主要考查的是调用形式。


C++
  1. 在定义类的对象后,必须首先进行初始化,通常使用new关键字进行对象的实例化。

  2. 在面向对象编程中,有接口(interface)和抽象类(abstract class)两种关键概念。子类继承它们时使用不同的关键字,分别为implementsextends

  3. 抽象类中可以包含普通的方法(有函数体),也可以包含抽象方法(没有函数体,方法前要加上abstract关键字)。与之不同,接口中的方法默认都是抽象方法,因此不需要再加任何关键字进行标识。

  4. this的使用是指代当前对象的关键字。通常,当有两个变量的命名相同,需要在构造函数中将参数名和私有变量名区分开时,会使用this关键字,例如 this.name = name;

  5. 提供的类图在解决问题时非常重要。通过类图,可以查看类之间的关系以及类中包含的方法,这有助于理解问题的结构和关联。


Java
  1. 在Java中,抽象类和接口是重要的概念。继承抽象类时使用关键字 extends,而实现接口时使用关键字 implements。抽象类中可以包含抽象方法和普通方法,抽象方法需要加上 abstract 关键字,但在接口中,所有方法默认都是抽象方法,因此不需要额外的 abstract 关键字。

  2. 类的成员变量和方法中的参数具有关键作用。如果参数是类的对象,那么通常会在实现中使用该对象来调用类的方法。此外,在赋值操作中需要注意 this 关键字的使用,特别是当参数名与类的成员变量名相同时,使用 this 可以明确指定要操作的成员变量。

  3. 在解决问题时,结合代码的上下文是非常重要的。要明确类之间的关系,了解方法的功能,方法中的参数以及类的成员变量,以便更好地解决问题。请牢记:Java填空题通常不难,主要考察简单的语法问题以及类之间的关联和方法的调用,而不涉及算法原理。

真题讲解


真题1
image-20231019102310848 image-20231019102327795 image-20231019102338469
image-20231019102922102
真题2
image-20231019102952306 image-20231019103010451 image-20231019103024676
image-20231019103139697