定义并测试一个代表员工的Employee类。
- 格式:doc
- 大小:1.37 KB
- 文档页数:2
一、实验目的1. 理解面向对象编程的基本概念,如类、对象、继承、封装、多态等。
2. 掌握面向对象编程的基本语法和常用操作。
3. 通过实验加深对面向对象编程的理解和应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验内容1. 定义一个简单的类,并创建对象实例。
2. 在类中定义属性和方法,并演示其使用。
3. 使用继承实现类的扩展。
4. 使用封装保护类的内部数据。
5. 使用多态演示不同对象间的动态类型转换。
四、实验步骤1. 定义一个名为“Person”的类,包含以下属性和方法:- 属性:姓名(Name)、年龄(Age)、性别(Gender)- 方法:打印个人信息(PrintInfo)2. 创建“Person”类的对象实例,并演示属性和方法的使用。
3. 定义一个名为“Student”的类,继承自“Person”类,并添加以下属性和方法: - 属性:学号(StudentID)- 方法:打印学生信息(PrintStudentInfo)4. 创建“Student”类的对象实例,并演示属性和方法的使用。
5. 定义一个名为“Employee”的类,继承自“Person”类,并添加以下属性和方法:- 属性:工号(EmployeeID)、职位(Position)- 方法:打印员工信息(PrintEmployeeInfo)6. 创建“Employee”类的对象实例,并演示属性和方法的使用。
7. 定义一个名为“Manager”的类,继承自“Employee”类,并添加以下属性和方法:- 属性:部门(Department)- 方法:打印经理信息(PrintManagerInfo)8. 创建“Manager”类的对象实例,并演示属性和方法的使用。
9. 使用多态演示不同对象间的动态类型转换。
五、实验结果与分析1. 创建“Person”类和对象实例,并演示属性和方法的使用。
java编程题1、(1)编写一个圆类Circle,该类拥有:①一个成员变量Radiu(私有,浮点型);//存放圆的半径;②两个构造方法Circle()//将半径设为0Circle(doubler)//创建Circle对象时将半径初始化为r③三个成员方法doublegetArea()//获取圆的面积doublegetPerimeter()//获取圆的周长voidhow()//将圆的半径、周长、面积输出到屏幕编写应用程序,创建类的对象,分别设置圆的半径,计算并分别显示圆半径、圆面积、圆周长。
2、定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:NO表示学号;Name表示姓名;Se某表示性别;Age表示年龄;Java:表示Java课程成绩。
(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。
(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSe某():获得性别;getAge()获得年龄;getJava():获得Java课程成绩(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
3、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
4、用Java语言定义一个员工类Employee(1)员工类Employee属性有:id:String型,代表员工ID号name:String型,代表姓名age:int型,代表年龄5、题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?6、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
Java程序设计期末考试卷一一、单项选择题(每小题2分,共40分)1、下列哪个选项不是Java语言的注释符号()A、//B、/* */C、/** */D、!2、下面符号中,那个符号是Java的“等于号运算符”()A、=B、!=C、= =D、>=3、下列哪个选项不是Java关键字()A、booleanB、privateC、hiD、if4、下列运算符中,优先级最高的是()A、|B、&C、++D、()5、下列哪项不是Java的原子数据类型()A、longB、forC、byteD、char6、编译Java程序的命令是()A、javaB、javadocC、javacD、cd7、下列哪个选项中对应的工具可以用来开发Java语言程序()A、Word2003B、JBuilderC、OutlookD、Excel20008、下列哪个选项是Java的输出语句()A、System.out.println();B、Out.system.print();C、System.println.out();D、print.system.out();9、Java语言中的语句是以()为结尾的。
A、逗号B、分号C、单引号D、句号10、下列哪个选项是Java的主方法()A、public static main(String args[])B、private static void main(String args[ ])C、public static void main(String args[ ])D、private static main(String [ ] args)11、下面的选项中,哪一项不属于“飞机”类的行为()A、起飞B、降落C、速度D、加速12、下列类的继承哪个是正确的()A、class Apple extends FruitB、class AppleC、class Apple FruitD、Apple extends Fruit13、定义一个整型变量i的语句是()A、int i;B、double i;C、i int;D、int q;14、下面定义数组的语句错误的是()A、String [ ] str;B、String str [ ];C、char [ ] [ ] str;D、char str;25、数组第一个元素的下标是()A、0B、1C、2D、-116、下列哪项是Java的转义字符()A、|’B、!”C、\’D、&”17、下列哪项不是Java合法的标识符A、$weiB、123C、F117D、girl_boy18、下列哪个选项不是正确的for语句的形式()A、for( ; ; )B、for(int i=0; i<10; i++)C、for(int i=0, i<10, i++)D、for(int i=0; ; i++)19、下列哪个选项是正确的循环语句的形式()A、do{//循环体}while(1= =1);B、while(1=1){//循环体}C、while(){//循环体}D、while{//循环体}()20、声明类的关键字是()A、classB、interfaceC、implementsD、static二、填空题:共10个空,每个空1分,满分10分;请将答案填入题中的括号中。
员工互评快速打分代码员工互评是一种常见的管理方法,可以帮助组织了解员工的表现和发展需求。
快速打分是一种常见的评估方式,可以帮助管理者在有限的时间内对员工进行评估。
下面是一种员工互评快速打分的代码实现。
我们需要定义一个员工类,包含员工的姓名和评分字段。
代码如下:```pythonclass Employee:def __init__(self, name): = nameself.score = 0```然后,我们需要创建员工列表,用于存储所有员工的信息。
代码如下:```pythonemployees = []employees.append(Employee("张三"))employees.append(Employee("李四"))employees.append(Employee("王五"))# 添加更多员工...接下来,我们可以实现一个快速打分的函数,用于对员工进行评分。
代码如下:```pythondef quick_score(employees):for employee in employees:print("请对员工", , "进行评分(0-10分):")score = input()while not score.isdigit() or int(score) < 0 or int(score) > 10:print("评分必须为0-10的整数,请重新输入:")score = input()employee.score = int(score)```我们可以调用快速打分函数对员工进行评分,并输出评分结果。
代码如下:```pythonquick_score(employees)print("评分结果如下:")for employee in employees:print(, "的评分是:", employee.score)通过以上代码,我们可以实现一个简单的员工互评快速打分系统。
C++程序设计练习题C++程序设计实验(下)练习题⼀、类与对象1.定义⼀个名为Rectangle的矩形类:(1)数据成员为矩形的长Len和宽Wid;(2)定义有参构造函数;(3)两个成员函数Area()和Length(),分别计算并输出矩形的⾯积和周长。
(4)定义主函数,创建⼀个Rectangle类对象:长为5,宽为2。
通过调⽤成员函数输出该矩形的⾯积和周长。
2.⽇期类。
定义⼀个⽇期类Cdate属性:⼀个包括年(year)、⽉(month)和⽇(day)三个整型私有数据成员。
⽅法:定义成员函数Setdate()设置⽇期、成员函数Isleapyear()判断是否为闰年、成员函数Print()输出⽇期。
定义主函数,对上述成员函数进⾏测试。
void main(){Cdate d1; //定义对象d1.Setdate(1999,12,30); //通过对象访问成员if (d1. Isleapyear())cout<<“闰年”;elsecout<<“⾮闰年!”;d1.Print();}3.员⼯问题1.定义⼀个⽇期类Date(1)私有数据成员包括:年(int year)、⽉(int month)、⽇(int day);(2)定义构造函数:Date(int _year, int _month, int _day),对数据成员进⾏初始化;(3)定义成员函数void print() const,打印⽇期信息(打印格式:年/⽉/⽇)。
2.定义⼀个员⼯类Employee(1)私有数据成员包括:姓名(char *name)、出⽣⽇期(Date birth)、⽉⼯资(double salary);(2)定义构造函数:Employee(char *_name, int year, int month, int day, double _salary),对数据成员进⾏初始化;(3)定义析构函数:~Employee(),释放堆空间;(4)定义成员函数double computSalary(double bonus) const,计算员⼯年薪(计算公式:12×⽉⼯资+年终奖),其中参数bonus为年终奖;(5)定义成员函数void print() const,打印员⼯信息,打印格式如下图所⽰。
一有关java的第四次题一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __” 2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。
第8章习题解答一. 选择题1. 关于类和对象,不正确的说法是()A. 类是一种数据类型,它封装了数据和函数B. 类是对某一类对象的抽象C. 可以基于类这种数据类型定义类的引用D. 一个类的对象只有一个【答案】D【解析】类是一种数据类型,可以基于“类”这种数据类型定义多个称为“对象”的变量。
2. 类定义的外部,可以被访问的类的成员有()A. public 的类成员B. public或private的类成员C. private或protected的类成员D. public或private 的类成员【答案】A【解析】类的成员数据或成员函数的访问属性分为三种情况:private、public和protected,即私有访问属性、公有访问属性和保护访问属性,类定义的外部只能访问公有访问属性的成员。
3 关于this 指针,说法错误的是()A. this指针必须显式说明B. 当创建一个对象后,this 指针就指向该对象C. 成员函数拥有this指针D. 静态成员函数拥有this指针【答案】D【解析】this指针是一种特殊的指针,它指向成员函数当前操作的数据所属的对象。
不同的对象调用相同的成员函数时,this指针将指向不同的对象,也就可以访问不同对象的成员数据。
而静态成员函数是一个类的所有对象共享的成员,而不仅仅是某一对象的成员。
因此,可以在没有任何对象存在的情况下,可以使用静态成员函数,而使用this指针必须有明确的对象所指。
4. 调用形式参数为普通对象的函数时,系统会自动调用相应类的()A. 名字不同于类名的一般成员函数B. 构造函数C. 析构函数D. 拷贝构造函数【答案】D【解析】若函数的形参为类的对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数实现拷贝赋值。
5. 定义某类的对象后,再删除该对象,系统会自动调用()A. 名字不同于类名的一般成员函数B. 拷贝构造函数C. 构造函数D. 析构函数【答案】D【解析】当对象生存期结束时,需要调用析构函数,释放对象所占的内存空间。
Java练习题第一章 java技术入门1.练习环境变量的设置,如果出现问题,试分析其原因并更正。
2.编写HelloWorld程序,并编译执行。
3.在屏幕上打印出一下图形。
**************************************************************Java程序设计***********************************************************************4.编辑、编译、运行以下程序,说出程序的功能。
改变变量n的初值,观察运行结果。
public class Sum10_for{public static void main(String[] args){int i=1,n=10,s=0;System.out.print("Sum("+n+")=");for(i=1;i<n;i++){s+=i;System.out.print(i+"+");}System.out.println(i+"="+(s+i));}}第二章面向对象程序设计1.创建一个带缺省构造方法的类,在构造方法中打印一条信息。
为这个类创建一个对象2.设计一个银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等账户信息,成员方法包括存款、取款等操作。
//3.定义一个点对象。
4.编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道、邮编组成,并可以返回完整的地址信息。
5.定义并测试一个代表员工的Employee类。
员工属性包括编号、姓名、基本薪水,还包括获取这些属性的方法。
6.创建一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,定义方法输出Dog信息,编写应用程序使用Dog类。
第四章运算符、表达式和流程控制1.测试++运算符。
面向对象的编程C++ 课程实验报告课程名称面向对象的编程C++班级B0901 实验日期姓名贺军学号09405020107 实验成绩实验名称实验:类和对象(1)实验目的及要求了解面向对象程序设计基本原理及主要特点——抽象、封装、继承和多态,掌握类和对象的概念以及如何利用类来解决具体问题。
实验环境Visual C++集成环境、Windows XP 操作系统实验内容1. 写出声明一个称为Employee的类的代码,该类有一下数据成员:age、yearsOfService、Salary;重写Employee类使其数据成员为私有并提供公有方法来获得和设置每个数据成员;写一个带有Employee类的程序,生成两个Employees;设置它们的age、yearsOfService和Salary;且打印它们的值。
2. 定义一个Dog类,包含name、age、sex和weight等属性及对这些属性的操作方法。
实现并测试这个类。
参考输出结果:算法描述及实验步骤定义一个类Employee。
在主函数中,定义了该类的两个一般对象d1和d2,有定义了一个指向类Employee的指针pd,初始化后它指向对象d2。
通过调试成员函数setEmployee()分别给对象d1和d2进行了赋值,即改变了这两个对象的数据成员的值。
根据给出的四个条件设置不同的类型的参数,在根据类的定义格式写出程序。
在定义name时,一定要注意设置参数。
调试过程及实验结果总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录第一个程序:#include<iostream.h>class Employee{public:void setEmployee(int a,int b,int c){age=a;yearofservice=b;salary=c;}void Print(){cout<<"age="<<age<<"yearofservice="<<yearofservice<<"salary="<<salary<<endl;}private:int age,yearofservice,salary;};void main(){第二个程序:#include <iostream.h>#include <string.h>class Dog{public:Dog(char a[],int b,char c,float d){strcpy(name,a);age=b;sex=c;weight=d;}void print(){cout<<"Dog'name:"<<name<<endl;cout<<"Dog'age:"<<age<<endl;cout<<"Dog'sex:"<<sex<<endl;cout<<"Dog'weight:"<<weight<<endl;Employee d1,d2,*pd=&d2;d1.setEmployee(26,2,5000); pd->setEmployee(34,1,4800); d1.Print();d2.Print();}}private:char name[20];int age;char sex;float weight;};void main(){Dog d("旺财",3,'m',2.4);d.print();}。
//定义并测试一个代表员工的Employee类。
员工属性包括“编号“、“姓名”、“基本工资”、“薪水增长额”,还包括计算薪水增长额及计算增长后的工资总额的操作方法。
class Employee
{
private String number;//员工编号
private String name;//员工姓名
private int salary;//员工基本工资
private int increase;//员工薪水增长额
public Employee(String number,String name,int salary,int increase)//用构造方法接收输入的所有参数
{
this.number=number;
=name;
this.salary=salary;
this.increase=increase;
}
public String getNumber()
{
return number;
}
public void setNumber(String number)
{
this.number=number;
}
public String getName()
{
return name;
}
public void setName(String name)
{
=name;
}
public int getSalary()
{
return salary;
}
public void setSalary(int salary)
{
this.salary=salary;
}
public int getIncrease()
{
return increase;
}
public void setIncrease(int increase)
{
this.increase=increase;
}
public int sum()//计算工资总额
{
return salary+increase;
}
public void print()//用于输出
{
System.out.print("员工编号:"+this.number+"\n"+"员工姓名:"++"\n"+"基本工资:"+this.salary+"\n"+"总工资:"+this.sum());
}
}
public class Test02
{
public static void main(String args[])
{
Employee emp=new Employee("num-03","张三",5000,250);//实例化对象
emp.print();
}
}。