c#基类继承
【 塔 · 第 三 条 约 定 】
编写一个多边形作为基类(成员:定点数)抽象方法(子类实现):体积、边长
- 正三角形类:成员 边长
- 长方形类:成员 长宽
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#基类继承的更多相关文章
- PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)
前言: 本文代码基于python3 Content: 1.python中的序列类分类 2. python序列中abc基类继承关系 3. 由list的extend等方法来看序列类的一些特定方法 4. l ...
- javascript组件开发之基类继承实现
上一篇文章大概的介绍了一下关于javascript组件的开发方式,这篇文章主要详细记一下基类的编写,这个基类主要是实现继承的功能 为什么要封装基类? 由于这次重构项目需要对各种组件进行封装,并且这些组 ...
- C#虚基类继承与接口的区别
类:定义新的数据类型以及这些新的数据类型进行相互操作的方法 定义方式: class Cat { } class Cat:object { } C#中所有的类都是默认由object类派生来的,显示指定或 ...
- 【C++】继承(虚基类)
类的继承与派生 面向对象技术强调软件的可重用性,这种重用性通过继承机制来实现.而在类的继承过程中,被重用的原有类称为基类,新创建的类称为派生类.派生类定义语法格式如下: class <派生类名& ...
- lua中基类和“继承机制”
基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...
- 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)
[源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...
- C++ (P160—)多继承 二义性 虚基类 “向上转型”
1 多继承中,必须给每个基类指定一种派生类型,如果缺省,相应的基类则取私有派生类型,而不是和前一个基类取相同的派生类型 2 一个类的保护成员只能被本类的成员函数或者它的派生类成员函数访问 3 由于c+ ...
- C++学习之路—继承与派生(一):基本概念与基类成员的访问属性
(本文根据<c++程序设计>(谭浩强)总结而成,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao,转载请注明) 1 基本思想与概念 在传统的程序设计 ...
- ASP.NET MVC项目实现BasePage基类用作ASPX.CS网页继承
在ASP.NET MVC项目开发,还是需要创建一些Web Page来实现一些功能,如呈现报表等... 但是一旦项目的.ASPX网页太多了,其中的程序代码也会有代码冗余,出现这些情况,我们得需要对这些代 ...
随机推荐
- 解决IDEA打印到控制台的中文内容乱码
File-->Settings-->Editor-->File Encodings->将图中内容均设置为UTF-8--->点击+号选中自己的项目->Apply--& ...
- xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版
客户电脑上要装金税开票软件,需要.net 4.0.30319.1,电脑环境是xp sp3,已经安装了.net 2, .net 3.5sp1,安装.net 4.0的时候提示错误0x80070643 因为 ...
- ThinkPHP5.1完全开发手册.CHM离线版下载
ThinkPHP5.1完全开发手册.CHM离线版下载 ThinkPHP5.1完全开发手册离线版.CHM下载地址 百度云:链接: https://pan.baidu.com/s/1b4jKJN-8UyI ...
- php连接数据库(一)
1.php链接数据库: 1.链接数据库 2.判断是否连接成功 3.设置字符集 4.选择数据库 5.准备SQL语句 6.发送SQL语句 7.处理结果集 8.释放资源(关闭数据库) $result = m ...
- [NOIP2017]逛公园(DP)
先spfa一遍处理出d[]数组,(从n开始bfs一遍标记可以达到n的点) 题意即,在走最短路的基础上,可以最多多走K长度的路径, 考虑DP,每次剩余可走的长度会因决策而改变,所以考虑dp[i][j]为 ...
- 不使用IDE,用maven命令打包war项目及出现的问题解决(最全攻略,亲测有效)
第一次在博客园写博客,写的不好大家见谅啊!! 一.首先,在用maven打包之前,一定确认好你使用的jdk版本和maven的版本,最好就是用jdk1.8和maven3.3以上的,版本太低了容易出现一些意 ...
- Codevs1332_上白泽慧音_KEY
题目传送门 裸的模板题,Tarjan求联通量. code: #include <cstdio> #include <vector> #define min(a,b) a< ...
- 成都Uber优步司机奖励政策(3月26日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- stm32中如何进行printf重定向用于串口调试输出
1 在main中包含stdio.h 文件 2 Target选项框里选Use MicroLib 选项 3 在main中添加UART1_Configuration()初始化的代码 Uart1初始化,voi ...
- Homebrew安装Redis找不到redis.conf文件
使用Homebrew安装redis完成后,使用命令 redis-server 启动redis,如下图所示: 启动信息中存在一条警告信息:没有指定的配置文件 然而在安装目录中并没有发现redis.con ...