1. 设计编写一个控制台应用程序,练习类的继承。

(1) 编写一个抽象类 People,具有”姓名”,”年龄”字段,”姓名”属性,Work 方法。

(2) 由抽象类 People 派生出学生类 Student 和职工类 Employer,继承 People 类,并覆盖Work 方法。

(3) 派生类 Student 增加”学校”字段,派生类 Employer 增加”工作单位”字段。

(4) 在 Student 和 Employer 实例中输出各自不同的信息。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Testing2_1
{
abstract class People
{
public String name; //姓名
public String Name //姓名属性
{
get;
set;
}
public String age; //年龄
public abstract void work(); //work方法
}
class Stu:People
{
public String school; //增加学校的字段
public override void work()
{
Console.WriteLine("这是Student类!");
}
}
class Employer :People //Empoyer类
{
public String workplace;
public override void work()
{
Console.WriteLine("这是Employer类!");
}
}
class Program
{
static void Main(string[] args)
{
Stu stu = new Stu();
Console.WriteLine("请输入学生的姓名:");
stu.name=Console.ReadLine();
Console.WriteLine("请输入学生的小名:");
stu.Name = Console.ReadLine();
Console.WriteLine("请输入学生的年龄:");
stu.age = Console.ReadLine();
Console.WriteLine("请输入学生的学校:");
stu.school = Console.ReadLine();
Console.WriteLine("学生的姓名:{0}", stu.name);
Console.WriteLine("学生的小名:{0}", stu.Name);
Console.WriteLine("学生的年龄:{0}", stu.age);
Console.WriteLine("学生的学校:{0}", stu.school);
stu.work();
Employer emp = new Employer();
Console.WriteLine("请输入员工的姓名:");
emp.name = Console.ReadLine();
Console.WriteLine("请输入员工的年龄:");
emp.age = Console.ReadLine();
Console.WriteLine("请输入员工的工作地点:");
emp.workplace = Console.ReadLine();
Console.WriteLine("员工的姓名:{0}", emp.name);
Console.WriteLine("员工的年龄:{0}", emp.age);
Console.WriteLine("员工的工作地点:{0}", emp.workplace);
emp.work();
Console.ReadLine();
Console.ReadLine(); }
}
}

2. 编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出。

(1) 编写两个接口,接口 IShape 包含三个方法:initialize, getPerimeter, getArea。分别进行初始化、获取边长和面积,其返回值均为 decimal。接口 IDisplayresult 显示计算结果。

(2) 编写两个类,Square(正方形)和 Circle(圆形),实现 IShape 和 IDisplayresult接口。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Testing2_2
{
public interface IShape
{
void initalize(); //初始化
decimal getPerimeter(); //获取边长
decimal getArea(); //获取面积
}
public interface IDisplayresult
{
void show(); //结果显示
}
public class Square:IShape,IDisplayresult
{
public decimal sidelength;
public void initalize()
{
Console.WriteLine("请输入正方形边长:");
do
{
sidelength = decimal.Parse(Console.ReadLine());
if (sidelength <= 0)
{
Console.WriteLine("输入错误!请重新输入:"); } }while (sidelength <= 0); }
public decimal getPerimeter() //正方形获取面积的实现
{
return 4 * sidelength;
}
public decimal getArea()
{
return sidelength * sidelength;
}
public void show()
{
Console.WriteLine("正方形周长:{0}", getPerimeter());
Console.WriteLine("正方形面积:{0}", getArea());
}
}public class Circle:IShape,IDisplayresult
{
decimal radius;
const decimal pi = 3.14M;
public void initalize() //圆形初始化实现
{
Console.WriteLine("请输入圆形半径:");
do
{
radius = decimal.Parse(Console.ReadLine());
if(radius<=0)
{
Console.WriteLine("输入错误!请重新输入!"); }
} while (radius <= 0);
}
public decimal getPerimeter()
{
return 2 * pi * radius;
}
public decimal getArea()
{
return pi * radius * radius;
}
public void show()
{
Console.WriteLine("圆形周长:{0}", getPerimeter());
Console.WriteLine("圆形面积:{0}", getArea());
}
}
class Program
{
static void Main(string[] args)
{
Square squ = new Square();
Circle cir = new Circle();
int i = 0;
Console.WriteLine("欢迎进入正方形圆形周长面积计算系统!");
do
{
Console.WriteLine("菜单选择;");
Console.WriteLine("1、正方形 2、圆形 3、退出");
Console.WriteLine("请输入操作:");
i = int.Parse(Console.ReadLine());
switch (i)
{
case 1:
squ.initalize();
squ.show();
break;
case 2:
cir.initalize();
cir.show();
break;
case 3:
Console.WriteLine("感谢您的使用!");
break;
default:
Console.WriteLine("输入错误!请重新输入!");
break;
} } while (i != 3);
}
}
}

C# 类的继承问题 正方形周长面积计算问题的更多相关文章

  1. 第八次 Java 作业 重写正方形周长方法

    # 题目 编写一个应用程序,创建一个矩形类,类中具有长.宽两个成员变量和求周长的方法. 再创建一个矩形类的子类——正方形类,类中定义求面积方法.重写求周长的方法. 在主类中,输入一个正方形边长,创建正 ...

  2. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  3. 第六周&Java实验报告四(类的继承)

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  4. UML类图(上):类、继承和实现

    面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...

  5. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  6. (转)Java:类与继承

    原文地址: http://www.cnblogs.com/dolphin0520/p/3803432.html 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大 ...

  7. iBatis.net 类的继承extends和懒加载

    <resultMaps> <resultMap id="FullResultMap" class="t_c_team_member_permission ...

  8. python 类定义 继承

    0 前言 系统:win7 64bit IDE : python(x,y) 2.7.6.1 IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) ...

  9. JS原型继承和类式继承

    前言 一个多月前,卤煮读了一篇翻译过来的外国人写的技术博客.此君在博客中将js中的类(构造)继承和原型继承做了一些比较,并且得出了结论:建议诸位在开发是用原型继承.文中提到了各种原型继承的优点,详细的 ...

随机推荐

  1. LuoguP1723 高手过愚人节 题解

    Content 有 \(n\) 次询问,每次询问给定一个字符串 \(s\),求这个字符串最长的回文子串的长度. 数据范围:\(n\) 无解(至少从题面来看是这样的),字符串长度目测应该在 \(10^7 ...

  2. echarts map 地图在react项目中的使用

    需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...

  3. IDEA版本2020.1全局MAVEN配置

    我们用IDEA打开项目有时候要每次配置maven地址,这样就很麻烦 我们可以直接设置全局的 这样所有新打开的项目都能使用

  4. 【LeetCode】217. Contains Duplicate 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计词频 使用set 排序 日期 [LeetCo ...

  5. 【LeetCode】18. 4Sum 四数之和

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:four sum, 4sum, 四数之和,题解,leet ...

  6. ZOJ 3960:What Kind of Friends Are You?

    What Kind of Friends Are You? Time Limit: 1 Second Memory Limit: 65536 KB Japari Park is a large zoo ...

  7. Mysql数据库服务端的安装

    一般提到Mysql数据库的安装在工作当中是说的安装数据库管理软件的服务端,服务端的安装可以安装在Windows环境,也可以安装在Linux环境. Windows环境安装:目前安装比较流行的是5.7,增 ...

  8. Android开发布局 案例一

    权重:就是在布局界面中所占的比例 实践案例: <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  9. SpringBoot文章合集

    SpringBoot文章合集 SpringBoot合集为<尚硅谷雷神SpringBoot2零基础入门(spring boot2)>的学习以及项目中使用知识点进行整理. SpringBoot ...

  10. [GDOI2021 Day2T1] 宝石

    题目大意 \(n\)个点的树, 树上每一个点有一个宝石\(w_i\), 给出一个固定的数字不重复的序列\(p_i\)和一些询问\(u_i, v_i\), 对于每一个询问求出\(u_i\)到\(v_i\ ...