面向对象基础的一些概念:
递归:方法通过直接或间接调用自身得到的结果.(递归必须拥有终止条件)
对象通信:在一个对象的行为中与其它类的对象发生数据交互(注意:对象他那个新会增加程序的耦合)
集合的三要素:结合类型、元素、所引器.
数组的优点:读取速度快、查询方便(查询方便与数组的存放位置有关)
数组的缺点:长度固定、移动数据是会导致数据的级联变动
集合的优点:长度不固定、每次集合容纳不下时,集合会新建一个步长为四的内存(新建内存是指:在已有的内存基础上加一个步长为四)
泛型:某一些类不能单独使用,它依托与另一个或多个类型,但该类在定义时,无法预知起依托的类型,把这种情况可以使用泛型.
泛型的定义<类型1,类型2,......,类型n>
删除指定位置元素:
例:
m RemoveAt(0)删除 索引为0的元素
m Remove(2) 删除集合中遇到的第一个数字为2的元素
清空集合:
例 nums.Clear();
查找:
例 nums.Contaions(3) 找集合中的数字3
集合反转用:Reverse
foeeach循环:
foreach(类型 变量名 in 集合){ }
类型必须与集合中元素的类型匹配
foreach循环也称为制度循环,因为循环体中不能更改集合(更改集合指:改变集合的大小或顺序)
完全限定名:命名空间.类名
字典:Dictionarg<Key,Value>
字典的特点:字典中的键值必须是唯一
对象通信:行为产生的关联
对象关系:是指两个对象之间具有的某个常态的关联
对象关系:
描述对象关系是应该在同一语境下
对象关系有:一对一关系,一对多关系(多对一),多对多关系
描述关系
一对一关系:一个A对应一个B,一个B对应一个A,A与B是一对一关系
一对多(多对一)关系:一个A(1个A)对应多个B(1个B),一个B(1个B)对应一个A(多个A),A与B是一对多(多对一)关系
多对多关系:一个A对应多个B,一个B对应多个A,A与B是多对多关系
对象关系在代码中用属性表示.该属性持有对另一个对象的引用
多对多关系:通常在两个类中各持有单个对另一个类的引用
一对多(多对一)关系:通常在多的一端持有单个类的引用,在少的一端持有集合引用(可以值在一端写引用)
多对多关系:在两端都持有集合引用
注意:
如果出现错误为:未将对象引用设置到对象的实例(该错误通常出现在使用指为Null的对象资源)
构造函数:
1.逻辑上它是一个对象产生时应该完成一些工作使得该对象具有现实意义.
2.技术上它是一个初始化器,通过它可以产生对象资源
3.时间点对象创建时
给属性赋值:为了保证对象在现实中有意义
构造函数书写规范:
修饰符 类名 (参数列表){
构造体
}
注意:构造函数的类名只能写当前类名
构造函数:
发生时间点:对象常见时
完成工作时:初始化数据,是该对象具有现实意义,当类中没有显示定义构造函数时,它拥有默认的无参构造函数.
显示构造函数就是自己手动常见的构造函数.
注意:当类中有了显示定义了构造函数,默认无参构造函数就消失
设计构造参数是应当尽量避免调用者可能出现的赋予不正确值得情况,同时 还应该让调用方法尽量简单
this关键字:
this:表示当前对象,其类型就是当前对象的类型
对象初始化器,必须保证该类具有无参构造函数
当一个方法体中,参数名、字段和属性名相同时,字段和属性在该方法中将被覆盖.