C#面向对象程序设计课程实验五:实验名称:C#面向对象技术_构造函数初始化其数据成员的值。从vehicles类派生出car类(小汽车),增加int型数据(1)

在这里插入图片描述

实验内容:C#面向对象技术

在这里插入图片描述

一、 实验目的及要求

  • (1)掌握类的继承特性;
  • (2)学会使用 C#实现类的继承性;
  • (3) 理解类的多态特性;
  • (4)学会使用 C#的方法重写;

二、实验环境

Microsoft Visual Studio 2008

三、实验内容与步骤

3.1、实验内容:测试类,实现多态

实验内容:测试类,实现多态的内容如下所示

定义一个名为 Vehicles 的基类,代表交通工具。该类中应包含 string 类型的属性 Brand 表示商标,Color 表示颜色。还应包含 Run(行驶,在控制台显示“我已经开动了”)和虚 方法 ShowInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其属性。 编写 Car(小汽车)类继承于 Vehicles 类,增加 int 型属性 Seats(座位),还应重写成员方法 ShowInfo(在控制台显示小汽车的信息),并编写构造方法。编写 Truck(卡车)类继承于 Vehicles 类,增加 float 型成员属性 Load(重载),还应重写成员方法 ShowInfo(在控制台 显示卡车的信息),并编写构造方法。在 Main 方法中测试以上各类,实现多态。

3.2、实验步骤

3.2.1、实验程序

1、 实验的程序如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 实验五_1_
{
    class Vehicles
    {
        private string Brand;            //字段
        private string Color;

        public Vehicles(string brand, string color)     //构造函数
        {
            Brand = brand;
            Color = color;
        }

        public Vehicles() 
        {
        }

        public void Run()
        {
            Console.WriteLine("我已经开动了");
        }

        public virtual void ShowInfo()   //虚方法
        {
            Console.WriteLine("商标: {0},颜色: {1}", Brand, Color);
        }
    }

    class Car : Vehicles          
    {
        private int Seats;

        public Car(int seats)
        {
            Seats = seats;
        }

        public override void ShowInfo()        //重载虚方法
        {
            Console.WriteLine("座位: {0}", Seats);
        }
    }

    class Truck : Vehicles
    {
        private float Load;

        public Truck(float load)
        {
            Load = load;
        }

        public override void ShowInfo()
        {
            Console.WriteLine("载重: {0}顿", Load);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Vehicles car = new Vehicles("奔驰", "红色");
            Vehicles truck = new Vehicles("东风", "蓝色");
            Car carSeat = new Car(4);
            Truck truckLoad = new Truck(2);

            car.ShowInfo();
            truck.ShowInfo();
            carSeat.ShowInfo();
            truckLoad.ShowInfo();

            Console.ReadLine();
        }
    }
}

3.2.2、实验运行结果

2、 实验的运行结果如下:

在这里插入图片描述

3.3、实验内容:创建一个 Vehicle 类,并将它声明为抽象类

实验内容:创建一个 Vehicle 类,并将它声明为抽象类如下所示

创建一个 Vehicle 类,并将它声明为抽象类。在 Vehicle 类中声明一个 NumOfWheels 方法,使它返回一个字符串值。创建两个类 Car 和 Motorbike 从 Vehicle 类继承,并在这 两个类中实现 NumOfWheels 方法。在 Car 类中,应当显示“四轮车”信息,而在 Motorbike 类中应当显示“双轮车”信息。在 Main()方法中创建 Car 和 Motorbike 的实例,并在控制台中显示消息。

3.4、实验步骤

3.4.1、实验程序

1、 实验的程序如下:

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一 C++简单程序设计(2学时) 1.编程计算图形的面积。程序可以计算圆形、长方形、正方形的面积、运行时先提示用户选择图形,然后,对圆形要求用户输入半径、对长方形要求用户输入长和宽的,对正方形要求用户输入边长,计算面积后将其显示来。要求使用debug调试功能观察程序运行中变量的变化情况。 2.定义一个表示时间的结构体,可以精确的表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的,然后完整地显示来。 实验二 函数的应用(2学时) 1.编写重载函数Max1,分别求两个整数,两个双精度数,三个整数,三个双精度数的最大。 2.使用重载函数模板重新实现上面的函数Max1。 要求:(1)练习重载函数的使用;(2) 练习函数模板的使用。 实验与对象(2学时) 1.声明一个Dog,包含age、weight等属性,以及对这些属性操作的方法。实现并测试这个。 2.设计并测试一个名为Rectangle的矩形,其属性为矩形的左下角和右上角两个点的坐标,有成员函数能计算矩形的面积。 3.定义一个CPU,包含等级、频率,电压等属性,并编写构造函数、析构函数,以及成员函数run、stop模拟CPU的状态。其中,等级为整,频率为单位是兆赫兹的整数,电压为浮点。要求自己设计各个属性的标识。 4.定义一个简单的Computer,包含数据成员cpu、ram、cdrom等等,有两个成员函数run、stop。其中cpu为CPU的一个对象,ram为RAM的一个对象,cdrom为CDROM的一个对象,定义并实现这个。 5.(必做)设计一个用于人事管理的People。考虑到通用性,可以只抽象所有人员都 具有的属性:number(编号),sex(性别) ,birthday(生日期),id(身份证号)等等。其中“生日期”定义为一个“日期”内嵌子对象。用成员函数实现对人员函数的录入和显示。要求包括:编写构造函数和析构函数、拷贝构造函数、内联成员函数,的组合。 实验四 C++程序的结构(2学时) 1.编写程序,实现并测试客户机(Client)。定义字符静态数据成员ServerName[10],保存其服务器名称;整静态数据成员ClientNum,记录定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件client.h中定义,在文件client.cpp中实现,在文件test.cpp中测试这个,观察相应的成员变量的取的变化情况。 2、在实验三题目5编写的人员中设计适当的方法来实现数据的共享性,并采用多文件结构实现程序。 3.(选做)定义X、Y、Z,函数h(X *),满足:X有私有成员i,Y的成员函数g(X *)是X的友元函数,实现对X的成员i加1,Z是X的友元,其成员函数f(X *)实现对X的成员i加5,函数h(X *)是X的友元函数,实现对X的成员i加10。在一个文件中声明,在一个文件中实现,在另一个文件中测试实验 继承和派生(2学时) 1.设计并定义一个交通工具,并通过该派生新的,编写程序定义这些并测试它; 2.(选做)声明一个基Shape,在此基础上派生Rectangle和Circle,二者都有GetArea()函数计算对象的面积,编写程序测试。 3.(选做)声明一个哺乳动物Mammal,再由此派生Dog,定义一个Dog的对象,观察基派生构造函数和析构函数的调用顺序。 4.完善实验四第2题的程序,具体要求如下: 任务1:从people(人员)派生student(学生),添加属性:学校、学院、专业、班号、入学成绩,设计相应的成员函数(构造函数,拷贝构造函数,录入函数,显示函数)。 任务2:从people派生teacher(教师),添加属性:职务,部门,职称。并设计相应的成员函数。 任务3:从student派生graduate(研究生),添加属性:导师,研究方向。并设计相应的成员函数。 任务4:编写程序来测试这个实验六 小学生管理系统的设计与实现1(2学时) 设计学生课程、成绩及相应的成员函数。要求能实现学生的信息、课程信息和成绩信息的增加、修改、删除与查询。 实验七 多态性(2学时) 1.定义Point,有坐标X和Y两个成员变量,对Point重载++和――运算符,实现对坐标的改变。 2.定义一个车(Vehicle),有run,stop等成员函数,由此派生自行车(bicycle)、汽车(car),由bicyclecar派生摩托车(motocar),它们都包含run,stop等成员函数,编写相应的虚函数并测试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值