C# 封装,继承,多态
2015-12-09 09:56
399 查看
C# 封装,继承,多态
封装的概念 :
封装是可以把程序按某种规则分成很多“块“,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改。
封装的意义 :
封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的原素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。 封装提供了一个有效的途径来保护数据不被意外的破坏。
继承的概念:
“继承”是面向对象软件技术当中的一个概念。如果一个类B继承自另一个类A,就把这个B称为"A的子类",而把A称为"B的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。
多态的概念:
通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。
封装的概念 :
封装是可以把程序按某种规则分成很多“块“,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改。
封装的意义 :
封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的原素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。 封装提供了一个有效的途径来保护数据不被意外的破坏。
继承的概念:
“继承”是面向对象软件技术当中的一个概念。如果一个类B继承自另一个类A,就把这个B称为"A的子类",而把A称为"B的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _03_继承 { class Program { static void Main(string[] args) { Person p = new Person(); Teather t = new Teather(); t.Name = "李"; t.Age = 18; t.Gender = '男'; t.Showteacher(); } } public class Person { string _name; public string Name { get { return _name; } set { _name = value; } } int _age; public int Age { get { return _age; } set { _age = value; } } char _gender; public char Gender { get { return _gender; } set { _gender = value; } } public void Show() { Console.WriteLine("我是人"); } } public class Teather:Person { public void Showteacher() { Console.WriteLine("我是老师,我叫{0},{1}岁,{2}生",this.Name ,this.Age ,this.Gender ); } } }
多态的概念:
通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。
相关文章推荐
- c#播放声音文件
- C#中string类型前加@标志的作用
- C#中 virtual 和 abstract 的区别
- C# 清除事件绑定的函数
- C# 清除事件绑定的函数
- 【C#】高级语言特有的单例模式
- C# implementation of dynamic hand gesture recognition
- C# 编码转换 utf8
- C# 16进制与字符串、字节数组之间的转换
- Github上十大c#开源项目排行榜
- c# 账号密码加密, 写入读取ini文件
- C#读取摄像头处理图片AForge
- (比如C#)里面调用AutoCAD ActiveX API实现后台打印DWG文件为PDF文件
- CAD插件技术真心不难,无非是画点线条,CAD内部能实现的,C#调用acdbmgd.dll和acmgd.dll也能实现
- AutoCAD二次开发的学习者快速掌握基于.NET的开发技术
- C#托管代码与C++非托管代码互相调用
- 七牛---关于C# SDK的各种Demo
- c#的dllimport使用方法详解
- C#读取摄像头并对图像做简单处理--AVICap32篇
- C#驱动及应用