面向对象:spa
面向对象方法是软件工程、程序设计的主要方向,也是最有效、最实用和最流行的软件开发方法之一。设计
C#是彻底面想对象(OOP)的程序设计语言,具备面向对象程序设计方法的全部特性。对象
面向对象方法的基本思想就是从所要解决的问题自己出发,尽量运用天然的思惟方式(分析、抽象、分类、继承),以现实世界中的事物为中心思考问题、认识问题,并根据这些事务的本质特征,把他们抽象表示为系统中的对象,做为系统的基本构成单位。继承
面向对象的最基本的特征是抽象性、封装性、继承性、多态性。接口
对象(object):事务
客观世界中任何事物均可以当作一个对象,汽车、房屋、狗均可以当作一个对象。内存
任何对象都应当具备属性(attribute)和行为(behavior)两个要素。开发
对象 = 属性 + 行为(方法、操做)io
类(class):程序设计
类表示具备相同属性和行为的一组对象的集合。
C#程序的源代码必须放到类中,一个程序至少包括一个类。
类是抽象的,不占用内存,而对象是具体的,占用存储空间
抽象(abstraction):
抽象是处理事务复杂性的方法,只关注与当前目标有关的方面,而忽略与当前目标无关的方面。
int是对全部整数的抽象,double是对全部双精度浮点型数的抽象。
封装(encapsulation):
将有关的数据和操做代码封装在一个对象中,造成一个基本单位,各个对象之间相对独立,互不干扰。
将对象中的某些部分对外隐藏,即隐藏内部细节,只留下少许接口,以变与外界联系,接收外界联系。
一台电视机就是一个封装体,从用户的角度只须要关注开关按钮,音量开光等,不须要关心其内部构造
继承
若是在软件开发中已创建了一个名为A的类,又想创建一个名为B的类,B与A内容基本相同,B在A的基础上增长了一些新的属性和行为。显然没必要再从头设计一个新类,只需在A类的基础上增长一些新的内容,B拥有A的所有属性与方法,称做B类对A类的继承。A类称为基类或父类,B类称为派生类或子类。
继承机制的优点在于下降了软件开发的复杂性和费用,使软件系统易于扩充,大大缩短了软件开发周期,对于大型软件的开发具备重要的意义。
多态(polymorphism):
在基类中定义的属性或方法被派生类继承后,能够具备不一样的数据类型或表现出不一样的行为。