2024-10-28
软件设计师
0
请注意,本文编写于 231 天前,最后修改于 231 天前,其中某些信息可能已经过时。

目录

C++
类与派生类的定义
对象指针与对象引用
虚函数
Java
类的定义
接口的定义
案例分析
试题1
试题2

C++

类与派生类的定义

image.png

image.png

构造函数相对于一般函数,具有如下特殊性质:

  • 构造函数的函数名必须与定义它的类同名
  • 构造函数没有返回值,如果在构造函数前加 void 是错误的
  • 构造函数被声明定义为公有函数
  • 构造函数在建立对象时由系统自动调用

析构函数相对于一般函数,具有如下特殊性质:

  • 析构函数没有任何参数,不能被重载,但可以是虚函数,一个类只有一个析构函数
  • 析构函数没有返回值
  • 析构函数名与类名相同,但在类名前加上一个逻辑非运算符 ~,以示与构造函数对比区别
  • 析构函数一般由用户自己定义,在对象消失时由系统自动调用,如果用户没有定义析构函数,系统将自动生成一个不做任何事的默认析构函数

对象指针与对象引用

image.png

虚函数

image.png

Java

类的定义

image.png

java
class Department { } class SqlServerDepartment extends Department { } abstract class Shape { abstract public void draw() { } } class Rectangle extends Shape{ }
java
import java.util.*; class Beverage { String description = "Unknown Beverage"; public String getDescription() { return description; } public abstract int cost() } abstract class CondimentDecorator extends Beverage { Beverage beverage; }

接口的定义

java
interface IFactory{} class SqlServerFactory implements IFactory {}

根据 V1Drawing 类补全 Drawing 接口:

image.png

java
interface Drawing { public void drawLine(double x1, double y1, double x2, double y2); public void drawCircle(double x, double y, double r); }

案例分析

试题1

image.png

image.png

image.png

image.png

  1. void Insert(Department department)
  2. Department GetDepartment(int id)
  3. implements IDepartment
  4. implements IDepartment
  5. interface IFactory
  6. Idepartment CreateDepartment()

试题2

image.png

image.png

image.png

  1. interface
  2. void drawLine(double x1, double y1, double x2, double y2)
  3. void drawCircle(double x, double y, double r)
  4. DP1.draw_a_circle(x, y, r)
  5. DP2.drawcircle(x, y, r)
  6. abstract public void draw()

本文作者:Morales

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 License 许可协议。转载请注明出处!