【 塔 · 第 三 条 约 定 】

编写一个多边形作为基类(成员:定点数)抽象方法(子类实现):体积、边长

  1. 正三角形类:成员 边长
  2. 长方形类:成员 长宽
using System;
using System.Collections.Generic;
using System.Text; namespace 第三条约定
{
abstract class Base
{
public static int point;//定点数
public static double area;//面积 }
class regular_triangle : Base//定义正三角形类
{
public void input()
{
Console.WriteLine("请输入正三角形定点数:"); point = Convert.ToInt32(Console.ReadLine());//获取定点数
if (point != 3)
{
Console.WriteLine("这不是一个三角形");
} }
int length;//私有成员 边长
public void _regular_triangle()
{
Console.WriteLine("请输入正三角形的边长");
length = Convert.ToInt32(Console.ReadLine()); ;//获取边长
area = 0.433 * (length * length);
}
public void output()
{
Console.WriteLine("边长:{0}", length);//输出私有成员边长
Console.WriteLine("正三角形的面积是:{0}", area);
} }
class orthogon : Base//定义矩形类
{ int length;//私有成员 长
int width;//私有成员 宽
public void input()
{
Console.WriteLine("请输入矩形的定点数:"); point = Convert.ToInt32(Console.ReadLine());//获取定点数
if (point != 4)
{
Console.WriteLine("这不是一个矩形");
} }
public void _orthogon()
{ Console.WriteLine("请输入矩形的长与宽");
length = Convert.ToInt32(Console.ReadLine());//获取长
width = Convert.ToInt32(Console.ReadLine());//获取宽
area = (length * width); }
public void output()
{
Console.WriteLine("长:{0},宽:{1}", length, width);//输出私有成员长与宽
Console.WriteLine("矩形的面积是:{0}",area);
}
}
}
class Program
{
static void Main(string[] args)
{
第三条约定.regular_triangle a = new 第三条约定.regular_triangle();
a.input();
a._regular_triangle();
a.output();//输出形状与面积
第三条约定.orthogon b = new 第三条约定.orthogon();
b.input();
b._orthogon();
b.output();//输出形状与面积
Console.ReadKey();
} public static int point { get; set; }
}

遇到的问题

  • 在调试的时候程序没有Console.ReadKey();导致调试时没有等待输入,窗口闪退的情况
  • 还有题目理解不明,继承还是有点不明白。

c#基类继承的更多相关文章

  1. PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)

    前言: 本文代码基于python3 Content: 1.python中的序列类分类 2. python序列中abc基类继承关系 3. 由list的extend等方法来看序列类的一些特定方法 4. l ...

  2. javascript组件开发之基类继承实现

    上一篇文章大概的介绍了一下关于javascript组件的开发方式,这篇文章主要详细记一下基类的编写,这个基类主要是实现继承的功能 为什么要封装基类? 由于这次重构项目需要对各种组件进行封装,并且这些组 ...

  3. C#虚基类继承与接口的区别

    类:定义新的数据类型以及这些新的数据类型进行相互操作的方法 定义方式: class Cat { } class Cat:object { } C#中所有的类都是默认由object类派生来的,显示指定或 ...

  4. 【C++】继承(虚基类)

    类的继承与派生 面向对象技术强调软件的可重用性,这种重用性通过继承机制来实现.而在类的继承过程中,被重用的原有类称为基类,新创建的类称为派生类.派生类定义语法格式如下: class <派生类名& ...

  5. lua中基类和“继承机制”

    基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...

  6. 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)

    [源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...

  7. C++ (P160—)多继承 二义性 虚基类 “向上转型”

    1 多继承中,必须给每个基类指定一种派生类型,如果缺省,相应的基类则取私有派生类型,而不是和前一个基类取相同的派生类型 2 一个类的保护成员只能被本类的成员函数或者它的派生类成员函数访问 3 由于c+ ...

  8. C++学习之路—继承与派生(一):基本概念与基类成员的访问属性

    (本文根据<c++程序设计>(谭浩强)总结而成,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao,转载请注明) 1   基本思想与概念 在传统的程序设计 ...

  9. ASP.NET MVC项目实现BasePage基类用作ASPX.CS网页继承

    在ASP.NET MVC项目开发,还是需要创建一些Web Page来实现一些功能,如呈现报表等... 但是一旦项目的.ASPX网页太多了,其中的程序代码也会有代码冗余,出现这些情况,我们得需要对这些代 ...

随机推荐

  1. html5中audio支持音频格式

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  2. kafka初步学习

    消息系统 什么是消息系统? 消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它.分布式消息传递给予可靠消息队列的概念.消息在客户端应用程序和消息传递系 ...

  3. postgresql 日期类型处理实践

    ---- 日期+1 select date '2018-01-14' + integer '1'; 结果: 2018-01-15 ---- 日期+1 后 转 20180101 日期字符串 select ...

  4. MongoDB入门---文档查询操作之条件查询&and查询&or查询

    经过前几天的学习之路,今天终于到了重头戏了.那就是文档查询操作.话不多说哈,直接看下语法: db.collection.find(query, projection) query :可选,使用查询操作 ...

  5. nodejs module/require

    1. wrap up a module using module.exports, name the file to a.js var fun1=function(){ var stylus = re ...

  6. rm 删除不掉文件,报错解决 以及 chattr的介绍

    rm 强制删除一个文件 居然删除不掉! 出现这个错误: rm: cannot remove ‘default/.user.ini’: Operation not permitted 原来呀: 然后呢 ...

  7. Spring的定时任务(任务调度)<task:scheduled-tasks>

    Spring内部有一个task是Spring自带的一个设定时间自动任务调度,提供了两种方式进行配置,一种是注解的方式,而另外一种就是XML配置方式了.注解方式比较简洁,XML配置方式相对而言有些繁琐, ...

  8. 说说NSCache优于NSDictionary的几点

    1.NSCache可以提供自动删减缓存功能,而且保证线程安全,与字典不同,不会拷贝键.2.NSCache可以设置缓存上限,限制对象个数和总缓存开销.定义了删除缓存对象的时机.这个机制只对NSCache ...

  9. 关于BLOB/TEXT字段存储设计及性能的简单研究

    简单研究了一下BLOB/TEXT字段对数据库性能的影响,得到一个大概的结论:(未验证) 无论MySQL还是MSSQL,都可以通过把BLOB/TEXT数据存储在行外的方式提高性能 把BLOB/TEXT字 ...

  10. C#新特性记录

    C#6.0新特性笔记 Getter专属赋值 可以在构造函数中,给只有get的属性赋初始值. class Point { public int x { get; } public Point() { x ...