异常、封装学习
来源:互联网 发布: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培训、学习第一品牌。
- 异常、封装学习
- jsf学习(异常类的封装)
- 异常封装
- 异常封装
- Lua学习教程之 捕获异常(tryCatch封装)
- unity 脚本学习之常量 异常 修饰符 封装
- 学习Unity3D第十四天之异常和封装。
- Unity3D学习之(常量、异常、修饰符以及封装)
- Unity3D学习基本知识常量 修饰符 异常 封装
- C++异常封装类
- 一些异常封装
- 异常处理模块封装
- 异常类自定义封装
- ajax请求封装,以及异常封装
- 自定义异常实战,java封装自定义异常
- 封装SoapException处理Webservice异常
- Java提高:提倡异常封装
- 异常的封装及注意事项
- OUI-10151:There was an error while loading library: generalQueries
- 未来的定位
- Xml文件解析过程中需要特别处理的字符串
- Android框架层漏洞-Fragment注入
- Visual Studio 2010下载 + 附破解方法
- 异常、封装学习
- VHDL语言入门整理
- 用mac终端ssh连接到ubuntu
- 什么是“测试驱动开发”
- html 使表格随着内容自动适应宽度
- 第十四周项目2
- python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
- CURL常用命令
- Android定时器和线程实现