(2)避免使用非法数据赋值 保证数据的完整性 避免内部发生修改时,导致整个程序的修改
属性封装和方法封装的区别:
属性封装与传统封装的使用目的是相同的,属性封装的优点在于:使用对象的用户可以使用一个命 名项就能操作内部数据。
多态---用同样的方法处理相关对象
定义:不同类的对象对同一消息作出不同的响应
(一个对象在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。)
多态有两种表现形式:重载和覆盖
多态的作用:接口重用
接口:
定义:接口是可属于任何类或数据的一组相关功能,用interfa定义,是一种规范。
作用:接口的作用在于抽出一些类的共通方法,但是又不去实现,这样既有利于管理,又不妨碍不同类的功能实现。
类是对象的抽象,接口是方法的抽象。
集合:ArrayList
System.Collections.ArrayList 类,仅仅实现 Ilist,最适合描述为一种正常数组和集合的混合型。ArrayList按照项目被加入集合的顺序存储项目。每个项目都被分配一个索引标识符而且能由关联它们的索引数字以任何顺序被检索。当新项目加入集合时会扩大ArrayList从而令其相比普通数组更具灵活性。然而,ArrayList负载比传统数组更大而且没有实现严格的类型化,也就可以接受任何转换为System.Object的对象(换句话说,对什么东西都来者不拒)
泛型:
(1)泛型集合可以约束集合内的元素类型
编译时检查类型约束
无需装箱拆箱操作
(2)加上using System.Collections.Generic;
迭代器
专业解释:
1.迭代器是可以返回相同类型值的有序序列的一段代码;
2.迭代器可用作方法、运算符或get访问器的代码体;
3.迭代器代码使用yield return语句依次返回每个元素,yield break将终止迭代;
4.可以在类中实现多个迭代器,每个迭代器都必须像任何类成员一样有惟一的名称,并且可以在foreach语句中被客户端代码调用;
5.迭代器的返回类型必须为IEnumerable和IEnumerator中的任意一种;
6.迭代器是产生值的有序序列的一个语句块,不同于有一个 或多个yield语句存在的常规语句块;
7.迭代器不是一种成员,它只是实现函数成员的方式,理解这一点是很重要的,一个通过迭代器实现的成员,可以被其他可能或不可能通过迭代器实现的成员覆盖和重载;
8.迭代器块在C#语法中不是独特的元素,它们在几个方面受到限制,并且主要作用在函数成员声明的语义上,它们在语法上只是语句块而已;
更多精彩请点击 http://www.gopedu.com/article