有关C#的 继承、结构、封装 的一些小实现例子

原创 2012年03月27日 20:45:58

去除浮躁,从稳固基础做起!认真对待基础!

通过继承计算梯形面积

程序预览:


源码下载地址:

http://dl.dbank.com/c0eoyzfa41

分析程序结构:

不规则四边形是基类:

成员只有:封装好的属性:上底 、下底、高

派生类也是一个梯形:

梯形类继承了不规则四边形的所有成员,所以就直接拥有了成员:上底、下底、高

另外梯形类扩展了一个方法:计算面积的方法Area()



分析程序编写过程:

在主方法里面实例化一个梯形对象

设置好这个梯形实例的上底,下底,高

调用梯形计算面积的方法并返回结果



总结心得:一个类可以重另外一个类继承,派生类继承了基类的所有成员(构造函数除外)。利用继承机制,可以重一个类的基础上构造出一个扩展的新类,从而提高程序开发的效率




通过结构计算矩形面积

程序预览:

 

源码下载地址:

http://dl.dbank.com/c0xewd44lq


知识点认知:

结构和类很相似,都可以含有:构造函数、字段、方法、属性、运算符、事件、嵌套类型······

结构对于小的数据结构很有用,而类一般是针对比较大型的数据结构

结构有以下几个特点:

1.结构是值类型的,向方法传递结构时是值传递的

2.结构实例化不可以用 New 运算符

3.结构可以声明构造函数,但它们必须带有参数

4.结构不能继承,所有结构都是直接继承 System.ValueType  ,而System.ValueType则是继承自:System.Object

5.结构可以实现接口

6.不能在结构中  初始化  实例字段

分析程序结构:

定义一个名为矩形的 结构类型 

矩形 结构类型的成员有:边 长 的字段和属性,边 宽 的字段和属性,计算矩形面积的方法


分析程序编写过程:

1在入口方法里面实例化一个矩形结构类型的实例

设置这个 矩形实例 的长和宽

调用 矩形实例 的面积计算方法

得出结果

总结心得:在数据结构较 小规模 的时候采用结构类型,这样可以大大节省内存;并且,结构是值类型的,类似引用类型的,而管理堆上的 数据比管理 栈 上的数据要占系统资源得多,SO ,在数据结构较 小规模 的时候 使用结构可以节省系统资源,节省内存。



封装实现一个简单的计算器

程序预览:

 

源码下载地址:

http://dl.dbank.com/c04q6hflj5


知识点认知:

封装是面向对象编程的一个重要的概念。封装可以把多个功能内部原理封装起来,那么程序员就不用管理如何实现,进而把注意力集中到需要设计的功能上;封装是程序更加安全,后期的维护更加方便、容易

分析程序结构:

一个计算类

成员:两个保存需要运算的字段,一个运算的方法

窗体:多个按钮

分析程序编写过程:

设计好窗体界面

为各个按钮编写相应事件

编写计算类

在窗体类里面实例化一个计算类

通过调用计算类的计算方法而得到结果

总结心得:封装是面向对象的一个重要的特性,封装一般的对于类和接口说的,

对于一些程序中通用的属性和方法等,通常都封装到接口或者类中,从而提高代码的重用率

C#的继承特性

C#面向对象的继承特性
  • Lin_For_Game
  • Lin_For_Game
  • 2015年07月30日 23:52
  • 1851

对C#继承的理解

C# 继承的理解
  • u010533180
  • u010533180
  • 2016年09月30日 10:39
  • 6702

C#中的继承举例

源码: using System; namespace Inherit { public class Person { public string name; //...
  • u014581901
  • u014581901
  • 2016年04月04日 14:29
  • 426

C#中的继承封装和多态知识点总结

一、  封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 面向对象程序设计中一般以类作为数据封装...
  • xjc1278003262
  • xjc1278003262
  • 2013年03月01日 10:29
  • 2766

从c++的菱形继承到 C#的接口机制

在C++中,什么叫做钻石问题(也可以叫菱形继承问题),怎么避免它? 下面的图表可以用来解释钻石问题。 假设我们有类B...
  • ssdut_209
  • ssdut_209
  • 2016年05月10日 20:49
  • 356

论C#如何实现多继承

谁说c#不能实现多继承,看本文是怎样那你的代码可以实现多继承的吧!
  • zhanghongjie0302
  • zhanghongjie0302
  • 2014年08月27日 20:39
  • 2487

C# 类中继承接口的属性

在开发中面对接口编程,有时需要将属性放到接口中,但是在类中又要如何去继承接口的属性呢? 开始的时候,我以为只要继承了接口,就可以将属性拿来用了。代码如下: public interface I...
  • xxdddail
  • xxdddail
  • 2013年08月02日 15:50
  • 4502

原来Java中的继承和C#中的继承是不一样的

因为之前在学校里学的是Java,C#是自学的,一直感觉Java和C#就像是孪生兄弟,不过今天才发现原来Java中的继承和C#中的继承还是有点不一样的 在Java中子类继承父类的方法,如果在子类重新定...
  • xiaxiaoying2012
  • xiaxiaoying2012
  • 2016年03月10日 23:53
  • 1119

C#OOP之八 继承 接口和抽象类

继承 在现实生活中有所谓的“种瓜得瓜、种豆得豆”的说法,在生物学概念上就是“遗传”的概念,在面向对象中“继承”就类似于生物学中的遗传,通过继承,可以更好的实现代码的重用(复用,多次使用的意思)、增加...
  • zhangchen124
  • zhangchen124
  • 2016年04月28日 18:24
  • 3981

C++ 和C# 继承机制的差异之浅见

C++继承方式总共分为以下几种: public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。 (1)public(公有继承):继承时...
  • wangzhen199009
  • wangzhen199009
  • 2013年01月03日 13:18
  • 2519
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有关C#的 继承、结构、封装 的一些小实现例子
举报原因:
原因补充:

(最多只允许输入30个字)