异常、封装学习

来源:互联网 发布:hive sql 平台 编辑:程序博客网 时间:2024/06/05 18:21

异常和修饰符

今天的错题回顾:

定义一个Car类, 属性有:速度(speed),方法:设置速度SetSpeed(int speed)。 最后在Main()中实例化Car,并通过构造方法给它初始化speed的值,打印出来。

 

class  Car

{

         float speed;

         public Car()

{

                  

}

Public void SetSpeed(int speed)

{

         This.speed=speed;

Console.WriteLine(speed);

}

Static void Main()

{

         Car ca=new  Car();

         Ca.SetSpeed(10);

         Console.ReadKey();

}

}

常亮:const声明常亮字段,或常亮局部变量。它们俩不是变量且不能修改。

异常:可以处理程序运行时出现的任何意外和异常。

异常处理:使用 try…catch 和 finally 关键字尝试某些操作,还有throw

Try… catch:

对于给定的 try 子句,可以有一个以上的 catch 子句,每个 catch 捕捉不同的异常类型。导出类型必须始终列在任何基类型之前。

Try… catch …Finally:

finally 构造用于指定即使发生异常也始终会运行的代码。finally 通常用于清理发生异常时所产生的内容。不论是否出现异常,都要进行一些收尾工作,这些收尾工作常放在finally中。

Exception:

当不确定有什么异常时,可以直接用Exception

Throw(抛出异常):

                   当程序遇到throw语句时,会立即停止执行try块中的语句,转而执行匹配的catch块中的语句。

 

异常的特点

1、       各种类型的异常最终都是由System.Exception (他是老大)派生而来。

2、  在可能引发异常的语句周围使用 try 块。

3、  一旦 try 块中发生异常,控制流将跳转到第一个关联的异常处理程

           序在 C# 中,catch 关键字用于定义异常处理程序。

    4、程序可以使用 throw 关键字显式地引发异常。

    5、即使发生异常也会执行 finally 块中的代码。 使用 finally 块释放资

          源,例如,关闭在 try 块中打开的任何流或文件。

 

封装:

可以把程序按某种规则分成很多““,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改。这项工作就是封装.

 

封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的原素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。

 

         它的好处是:

其一: 使用者只需要了解如何通过类的接口使用类,而不用关心类的内部数据结构和数据组织方法。

(隐藏类的实现细节,使用方法将类的数据隐藏起来)

其二:高内聚,低耦合一直是我们所追求的,用好封装恰恰可以减少耦合

 

其三:只要对外接口不改变,可以任意修改内部实现,这个可以很好的应对变化

(使代码更好的维护,类的内部实现改变,对外接口可以不变)

其四:类具有了简洁清晰的对外接口,降低了使用者的学习过程

 通过一对 SetXXX   GetXXX方法进行封装

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

0 0