niusouti.com

您最近创建了一个名为车辆的可序列化的类。类如下所示:[Serializable]public class Vehicle {public string VIN;public string Make;private string Model;private int Year;private string Owner;}Certkiller.com 不想要序列化一个车辆对象,出于安全原因时永久保存的所有者字段。您需要确保实现这一目标。你应该做什么?()A.适用于所有者字段的 OptionalField 属性。

题目

您最近创建了一个名为车辆的可序列化的类。类如下所示:[Serializable]public class Vehicle {public string VIN;public string Make;private string Model;private int Year;private string Owner;}Certkiller.com 不想要序列化一个车辆对象,出于安全原因时永久保存的所有者字段。您需要确保实现这一目标。你应该做什么?()

A.适用于所有者字段的 OptionalField 属性。

B.应用,所以所有者字段的属性。

C.已实现 IFormatter 接口的自定义序列化的车辆类别。

D.做什么,因为在使用二进制序列化时,私营领域是永远不会保留。


相似考题
更多“您最近创建了一个名为车辆的可序列化的类。类如下所示:[Serializable]public class Vehicle {publ ”相关问题
  • 第1题:

    阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。

    【说明】

    某应急交通控制系统(TraficControISy ,tem)在红灯时控制各类车辆(Vehicle)的通

    行,其类图如图5-1所示,在紧急状态下应急车辆红灯时也可通行,其余车辆按正常规

    则通行。

    下面的C++代码实现以上设计,请完善其中的空缺。

    include <typeinfo>

    include <iostream>

    using namespace std;

    class Vehicle {/*抽象基类,车辆*/

    public :

    virtual void run () = 0;

    };

    class Emergency( /*抽象基类,可在红灯时通行的接口,函数均为纯虚函数*/

    public:

    (1)=0 //isEmergent()函数接口

    (2)=0 //runRedLight()函数接口

    };

    class Car: public Vehicle {

    public :

    -car(){ }

    void run () { /*代码略*/ }

    };

    Ciass Truck:public vehicie {

    Public;

    -Truck(){ }

    Void run() { /*代码略*/}

    };

    Class policecar: (3) {

    Private:

    bool isEmergency;

    public :

    PoliceCar () : Car () , Emergency () { this=>isEmergency = false;

    }

    PoliceCar (bool b) : Car () , Emergency () { this=>isEmergency = b; }

    ~PoliceCar () { }

    bool isEmergent () { ret irn (4) ; }

    void runRedLight () { /*代码略*/ }

    };

    /*类Ambulance. FireEngine/*实现代码略*/

    class TraficControISystem {/*交通控制类*/

    private :

    Vehicle*v[24]; int numVeh: cles./*在构造函数中设置初始值为0*/

    public:

    void control(){ //控制在紧急情况下应急车辆红灯通行,其他情况按常规通行

    for (int i = 0; i<[numVehicles;++] {

    Emergency*ev=dynamic_cast<Emergency*(v[i]);

    if (ev !=0(5)-: runRedLight ( )

    Else (6)-:run()

    }

    }

    Void add(vehicle){v[numvehicles++]=vehicle;}

    /*添加车辆*/

    Void shutdown(){for (int i =0;i<numvehicles;i++){ deletev[i];} }

    }

    int main () {

    TraficControlSystem* tcs =new TraficControlSystem;

    tcs->add (new Car () );, t cs->add (new PoliceCar ()) ;

    tcs->add (new Ambulance ()) ; tcs- >add (new Ambulance (true)) ;

    tcs->add (new FireEngine (true)) ; -.cs->add (new FireEngine ()) ;

    tcs->add (new Truck ()) ;

    tcs->control () ; tcs->shul Down ( ) ;

    delete tcs;

    }


    参考答案:(1)virtualboolisEmergent0
    (2)ivirtualvoidrunRedLight0

    (3)publicCar,publicEmergency

    (4)ithis->isEmergency

    (5)ev

    (6)iv[i]

    解析:
    本题考查C++语言程序设计的能力,涉及类、对象、函数的定义和相关操作。要求
    考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
    根据题目描述,以交通控制系统(TraicControISystem)为背景,本题目中涉及的各
    类车辆和是否应急状态下在红灯时的通行情况。根据说明进行设计,题目给出了类图(图
    5-1类图所示)。
    图中父类Vehicle代表交通工具,设计为抽象类,包含一个方法:run(),表示行驶
    某一个具体的交通工具对象,行驶的方法由具体子类型完成,所以Vehicle的run()为一
    个纯虚函数:
    Virtualvoidrun()=0;
    Car和Truck都继承自Vehicle的两个子类型,所以它们都继承了Vehicle的run()方
    法,各自行驶方式有所不同,所以都覆盖了Vehicle的run()方法,并加以实现:
    voidrun(){/*代码略*/)
    Car的两个子类型PoliceCar和Ambulance都继承自Car,从而PoliceCar和Ambulance
    也都继承了Car中的run()方法。Truck的子类:eireEngine也继承了Truck中的run()方法。
    图中接口Emergency在C++中采用抽象基类的方法实现,其中约定红灯时通行的相
    关接口函数为:isEmergent()和runRedLight(),均为纯虚函数,原型中=0表示纯虚函数,
    实现由子类完成:
    virtualboolisEmergent()=0;
    virtualvoidrunRedLight()=0;
    isEmergent0函数接口约定应急车辆返回自身紧急情况状态,用bool类型的
    isEmergency表示:this->isEmergency,其值在紧急情况下为bool值true,非紧急情况下
    为bool值false。runRedLight0函数接口约定应急车辆在红灯时如何通行(isEmergency
    为true,则通行,isEmergency为false,和普通车辆一样通行)。Emergency的子类有
    PoliceCar、Ambulance和FireEngine,所以在这三个类中都要实现Emergency中定义的
    纯虚函数接口。
    交通控制类TraficControISystem对运行的交通工具进行控制,所有交通工具用
    Vehicle数组v表示;numVehicles表示交通工具数量;control函数进行控制在紧急情况
    下应急车辆红灯通行,其他情况按常规通行;add()表示有车辆加入系统,shutDown()在系统关闭时清除每个对象数组元素:deletev[];。Vehicle的子类具体类型有Car、Truck、
    PoliceCar、Ambulance和FireEngine,所以、[]数组中对象有这些类型的对象,加入V[]
    时会自动向上转型成为Vehicle类型,而实现了Emergency接口的应急车辆有
    runRedLight0函数,其他Car和Truck只有“n0函数。因此,用for循环对每个v[i],判
    定是否是Emergency类型,即是否继承了Eriergency,调用时动态绑定每个数组元素的
    实际类型,需要通过动态类型转换:
    Emergency*ev=dynamic_cast<Emeraency*>(v[i]);
    如果转换成功,说明是Emergency的子类,实现了runRedLight0,可以调用runRedLight0,
    否则调用run():
    If(ev!=0)ev_->runRedLigh'.();
    Elsev[i]->run();
    主控逻辑代码在maln函数中实现。初始化TraficControISystem,用tcs表示,调用
    tcs的add()函数添加具体的交通工具,这里会自动向上转型成为Vehicle类型,调用control()
    对各车辆进行控制,调用shutDown()系统关闭,使用完数组对象之后,需要用delete操
    作进行释放对象,即deletetcs;
    因此,空(l)和空(2)需要定义纯虚函数isEmergent()和runRedLight0,原型中
    =0题目代码中已经给出,所以空(1)和空(2)分别为“virtualboolisEmergent()”和“virtual
    voidrunRedLight()”;空(3)需要继承CarjFIEmergency,即“publicCar,publicEmergency”;
    空(4)要返回应急车辆对象的状态,即“this->isEmergency”;空(5)处动态类型转换
    成功的对象ev;空(6)处为普通车辆对象v[i]。

  • 第2题:

    如下说法正确的是正确的_________。

    A.Class类是Object类的超类

    B.Object是一个final类

    C.Class类的对象可使用new运算符创建

    D.Object类是Class类的超类。


    D 解析:类声明的格式。

  • 第3题:

    下列说法中,不正确的是()

    A.一个接口interface源程序经过编译后,得到的文件的扩展名一定是.class#B.一个java源程序编译通过后,得到的文件的扩展名一定是.class#C.一个java源程序可以有多个 class类定义,源文件的名字与public class的类名相同,且只能有一个public类,如果没有public类,源文件的名字必须与第一个类的类名相同,扩展名必须是.java#D.一个java源程序可以包含多个class类
    B I/O接口都要接受来自CPU的寻址,所以它的地址总线首先是输入的。但是,有些I/O接口(例如DMA控制器)可以作为总线上的主设备,这样的I/O接口就要输出地址,它的地址总线就是双向的。

  • 第4题:

    阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    某应急交通控制系统(TraficControlSystem)在红灯时控制各类车辆(Vehicle)的通行,其类图如下图所示,在紧急状态下应急车辆红灯时也可通行,其余车辆按正常规则通行。

    下面的C++代码实现以上设计,请完善其中的空缺。

    [C++代码]#include<typeinfo>#include<iostream>using namespace std;class Vehicle {/*抽象基类,车辆*/public:virtual void run()=0;};class Emergency { /*抽象基类,可在红灯时通行的接口,函数均为纯虚函数*/public:______=0; //isEmergent()函数接口______=0; //runRedLight()函数接口};clasS Car:public Vehicle{public:~Car(){}void run(){/*代码略*/ ));class Truck:public Vehicle{public:~Truck(){}void run(){ /*代码略*/ });class PoliceCar:______ {private:bool isEmergency;public:PoliceCar():Car(),Emergency() { this->isEmergency=false;}PoliceCar(bool b):Car(),Emergency() {this->isEmergency=b;}~P0liceCar(){ }bool isEmergent(){ return ______}void runRedLight() { /*代码略*/ });/*类Ambulance、FireEngine实现代码略*/class TraficControlsystem { /*交通控制类*/private:Vehicle*v[24]; int numVehicles;/*在构造函数中设置初始值为0*/public:void control(){ //控制在紧急情况下应急车辆红灯通行,其他情况按常规通行for(int i=0;i<numVehicles; i++){Emergency *ev=dynamic_cast<Emergency*>(v[i]);if(ev !=0) ______->runRedLight();else ______->run();}}void add(Vehicle*vehicle) { v[numVehicles++] =vehicle; }/*添加车辆*/void shutDown() {for(int i=0; i<numVehicles; i++) { delete v[i];} }};int main(){TraficControlSystem*tcs=new TraficControlSystem;tcs->add(new Car()); tcs->add(new PoliceCar());tcs->add(new Ambulance()); tcs->add(new Ambulance(true));tcs->add(new FireEngine(true));tcs->add(new FireEngine());tcs->add(new Truck());tcs->contr01();tcs->ShutDown();delete tcs;}


    答案:
    解析:
    virtual bool isEmergent()
    virtual void nmRedLight()
    public Car, public Emergency
    this->isEmergency
    ev
    v[i]

  • 第5题:

    面是一个派生类的定义语句: public class car: vehicle{ private string model="L"; private int wheelNo=4;} 请指出针对该定义的正确说法()。

    A.vehicle类是car类的一个特例,因而它可以被继承

    B.car类是父类,vehicle类是子类

    C.在car类中定义的成员model和wheelNo会删除vehicle类中同名的成员

    D.car类是vehicle类的一个特例,它可以继承vehicle类中除构造函数和析构函数以外的所有成员


    A类中的成员函数可以访问B类中的public数据成员。