【C#】上机实验三
实验1:
定义一个 TimePeiod 类
包含: hour , minute , second
实现时间的在 时分秒上的加法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace MyProject
{
class Program
{
static void Main(string[] args)
{
// 显示"08:47:00"
TimePeriod time = new TimePeriod(, , );
Console.WriteLine( time ); // 显示"12:00:00"
time.Hour = ;
time.Minute = ;
time.Second = ;
time.Add_Hour();
time.Add_Minute();
time.Add_Second();
Console.WriteLine( time ); // 显示"01:02:03"
time.Hour = time.Minute = time.Second = ;
time.Add_Second( + + );
Console.WriteLine(time); // 显示"Day + 1 , 01:02:03"
time.Hour = time.Minute = time.Second = ;
time.Add_Second( * + + );
Console.WriteLine(time);
}
}
class TimePeriod
{
//类中定义 时,分,秒 3个私有字段
private int hour;
private int minute;
private int second; //类中定义3个公有属性 分别对应上述3个字段
public int Hour { get { return hour; } set { hour = value; } }
public int Minute { get { return minute; } set { minute = value; } }
public int Second { get { return second; } set { second = value; } } //类中定义3个公有方法分别将时间增加n秒,n分,n时.
public void Add_Hour( int hour)
{
this.hour += hour ;
if( this.hour >= )
{
Console.Write( "Day + {0} ," , this.hour/ );
this.hour %= ;
}
}
public void Add_Minute( int minute)
{
this.minute += minute;
if( this.minute >= )
{
Add_Hour(this.minute / );
this.minute %= ;
}
}
public void Add_Second( int second)
{
this.second += second;
if( this.second >= )
{
Add_Minute(this.second / );
this.second %= ;
}
} //类中定义3个参数的构造函数,初始化3个私有字段
public TimePeriod( int hour , int minute, int second)
{
this.hour = hour;
this.minute = minute;
this.second = second;
}
public TimePeriod() : this(, , ) { } //类中定义公有方法输出:时,分,秒,3个字段的值
public override string ToString()
{
return string.Format( "{0:d2}:{1:d2}:{2:d2}",hour,minute,second);
}
}
}
时间类的练习
实验2:
实现Shape类,以及Box类的继承以及多态的练习
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace MyProject
{
class Program
{
static void Main(string[] args)
{
#region 测试Shape类及方法
/* 1、默认构造函数 对Length,breadth进行赋值
* 2、利用属性进行输出后,再利用属性进行赋值
* 3、最后利用ToString 输出对应的对象信息
*/
#endregion Shape s1 = new Shape(, );
Console.WriteLine("s1->Length:{0} , breadth:{1}",s1.Length,s1.Breadth);
s1.Length = ;
s1.Breadth = ;
Console.WriteLine(s1); #region 测试Box类及方法
/* 1、默认构造函数 对Length,breadth,height进行赋值
* 2、利用属性进行输出后,再利用属性进行赋值
* 3、最后利用ToString 输出对应的对象信息
*/
#endregion Box b1 = new Box(, , );
Console.WriteLine("b1->Length :{0}\tbreadth :{1}\theight :{2}",b1.Length,b1.Breadth,b1.Height);
b1.Length = ;
b1.Breadth = ;
b1.Height = ;
Console.WriteLine(b1); #region 测试多态
/*
* 多态体现在,父指针,将子类实例化.
*/
#endregion
Shape b2 = new Box(, , );
Console.WriteLine(b2); }
} public class Shape
{
private int length;
private int breadth; public int Length { get => length; set => length = value; }
public int Breadth { get => breadth; set => breadth = value; } public Shape ( int length , int width)
{
this.Length = length;
this.Breadth = Breadth;
}
public Shape():this(, ) { }
public override string ToString()
{
return string.Format("Shape -> length:{0}\t Breadth:{1}", length, Breadth);
}
#region 主要注释
/*
* 类中的字段属性封装
* 构造函数 : 两参数,零参数
* 重载ToString类
*/
#endregion
} public class Box : Shape
{
private int height;
public int Height { get => height; set => height = value; }
public Box(int length, int Breadth, int height):base(length, Breadth)
{
this.height = height;
}
public Box() : this(, , ) { }
public override string ToString()
{
return string.Format("Box -> length:{0}\t breadth:{1}\t height:{2}", Length, Breadth, height);
}
#region Box类
/*
* Box继承了Shape的所有结构
*
* 1、无法直接访问父类的字段,但可通过"属性"间接访问
* 2、在重载 构造函数时,可以直接调用父类的构造函数实现部分字段的赋值
*
*/
#endregion
}
}
类及继承练习
【C#】上机实验三的更多相关文章
- 《Java语言程序设计》上机实验
实验一 Java环境演练 [目的] ①安装并配置Java运行开发环境: ②掌握开发Java应用程序的3个步骤:编写源文件.编译源文件和运行应用程序: ③学习同时编译多个Java源文件. [内容 ...
- 实验三 CC2530平台上CC2530平台上定时器组件的
实验三 CC2530平台上CC2530平台上定时器组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步掌握CC2530定时器的PWM功能,及其TinyOS ...
- oracle上机实验内容
这是oracle实验的部分代码,我花了一中午做的. 第一次上机内容 实验目的:熟悉ORACLE11G的环境 实验内容: 第二次上机内容 实验目标:掌握oracle体系结构,掌握sqlplus的运行环境 ...
- 软件测试技术lab2——Selenium上机实验
Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://121.193.130.195:8080/使用学号登录系统 ...
- 2019 SDN上机第三次作业
2019 SDN上机第三次作业 实验一 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),测试两台主机之间的网络连通性 ...
- FPGA与simulink联合实时环路系列——实验三 按键key
实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...
- Java实验三
20145113 20145102实验三 实验步骤 编码标准 编程标准包含:具有说明性的名字.清晰的表达式.直截了当的控制流.可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性 ...
- Verilog HDL那些事_建模篇笔记(实验三:按键消抖)
实验三:按键消抖 首先将按键消抖功能分成了两个模块,电平检查模块和10ms延迟模块.电平检测模块用来检测按键信号的变化(是否被按下),10ms延迟模块用来稳定电平检查模块的输入,进而稳定按键信号,防止 ...
- 20145229&20145316 《信息安全系统设计基础》实验三 实时系统的移植
实验封面 实验内容 1.安装ADS(安装文件在00-ads1.2目录下,破解方法00-ads1.2\Crack目录下) 2.安装GIVEIO驱动(安装文件在01-GIVEIO目录下) 3.把整个GIV ...
随机推荐
- jmxtrans docker-compose 运行
以下是一个简单的demo,使用jmxtrans 进行jmx 指标的处理,项目使用docker-compose 运行 同时写入数据到graphite 环境准备 docker-compose文件 ve ...
- Python 下载超大文件
使用python下载超大文件, 直接全部下载, 文件过大, 可能会造成内存不足, 这时候要使用requests 的 stream模式, 主要代码如下 iter_content:一块一块的遍历要下载的内 ...
- 前端base64加密
一.Base64编码表 码值 字符 码值 字符 码值 字符 码值 字符 0 A 16 Q 32 g 48 w 1 B 17 R 33 h 49 x 2 C 18 S 34 i 50 y 3 D 19 ...
- mysql 过滤分组
mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...
- 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1。 buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数据以“\t”分割
实验内容(mapReduce安装请按照林子雨教程http://dblab.xmu.edu.cn/blog/631-2/) 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为 ...
- 【POJ2488】A Knight's Journey
题目传送门 本题知识点:深度优先搜索 + 回溯 + 剪枝 + 字典序 题意是给你一个由 p,q 组成一个矩形的棋盘,让你用马棋在这上面走,是否能一线走完这 p * q 个格子. 关于这条路线是怎么走的 ...
- Apache Flink - 架构和拓扑
Flink结构: flink cli 解析本地环境配置,启动 ApplicationMaster 在 ApplicationMaster 中启动 JobManager 在 ApplicationMas ...
- [转]ProxmoxVE 干掉 VMware
很久没有写这种通俗易懂的文章了,不是我愤世嫉俗,而是因为确实太为那些花大价钱购买VMware的冤大头鸣不平. 确实VMware在虚拟化市场占有率非常高,技术也非常成熟,用户使用起来很方便,但是如果你是 ...
- 微信小程序的跳转navigateTo()和redirectTo()用法和区别
原文链接:https://blog.csdn.net/u013128651/article/details/79736410 wx.navigateTo({}) ,保留当前页面,跳转到应用内的某个页 ...
- ElasticSearch5.2.2 安装(老版本)
https://www.elastic.co/downloads/elasticsearchElasticSearch是一个高可扩展的开源的全文搜索分析引擎.它允许你快速的存储.搜索和分析大量数据.E ...