ADO.NET微软提供的一组类库,可以帮助程序员和数据库交互。
CLS(公共语言规范) CTS(通用语言类型)
类库:
可以看成一个承载了N个类的容器。
类库和命名空间:
一个类库对应一个命名空间,也可以多个。
二.自动属性
public string name{set;get;}
应用场景:
当不用做逻辑判定是,可以使用自动属性。
三.封装
信息隐藏,将抽象的数据和操作结合在一起,将私有字段封装成公有属性。
1.保证数据的安全性。
2.提供清晰的对外接口。
3.类内部实现可以任意修改,不影响其他类。
OOP面向对象编程。
AOP面向切面编程
OOD面向对象设计
OOA面向对象分析
DBA数据库管理员
CLS(公共语言规范)
CLR(公共语言运行时) CTS(同用类型)
.NET框架主键
FCL框架内库
第二章:
结构的定义:
1.结构体关键字是struct.
2.不用new,就可以给属性赋值。
3.结构体不用new的时候,Name不能是自动属性。
4.结构体是值类型,class是引用类型。
5.结构体中不能给字段赋初值,类中可以。
6.结构体不能生成构造,类会在后台自动形成。
public struct Student { public int id; public int age; public void Show() { console.WriteLine(”年龄:“id,age); } } stattic void Main(string[]args) { student stu;创建学生结构 stu.id=1001; stu.age=20; stu.show(); }
值传递,引用类型
传递值类型不会保留,传递引用类型永久保留。
1.如果参数前有ref一定会保留。
2.如果参数前没有ref,想保留必须自身是引用类型。
3值类型不可以为null,引用类型可以为null.
4.值类型分配到栈上,引用类型保存到堆上。
三集合:
集合:将一堆数据放在在一起。
ArrayList list=new ArrayList();
foreach(object item in list)
{
console.WriteLine(item);
}
list.RemoveAt(1);删除下标为1的数据
1.使用Arraylist引入命名空间
2.集合扩容原理:集合中元素个数为0,则没有开辟空间。
3.默认集合中出现第一个元素,那么集合大小为4,如果放入第五个元素,那么就扩容8个。
Hashtable table=new Hashtable();
foreach(string key in table.keys)
{
console.wirteLine(key,table[key]);
}
HashTable类型在集合只能用foreach循环遍历,因为没有索引。
他是无序的,key值不能重复,不能用 RemoveAt(1);
List<> list=new List<>
他与ArrayList相似,list<>访问数据时不需类型转换。
Dictionary<k,y> diy=new Dictionary<k,y>
泛型集合可以作为类的一个属性,使用泛型集合必须实例化。
四.类的方法
构造函数
无参
public se()
{
this.id="00";
this.name="晓雯";
}
Main方法()
se en=new se();
console.writeLine(en.se);
带参
public se(string name,int age)
{
this.name=name;
this.age=age;
}
方法重载
如果方法名相同,参数列表(个数,顺序,类型)不同,和方法返回值无关。
构造函数同常与类名相同,构造函数不声明返回值,用public类型。
五.继承多态
继承优点:
减少代码冗余,实现代码复用。
如果一个类后面通过冒号又跟上另一个类,就用冒号前面的类为子类,冒号后面的类为父类,,这就是继承关系。
子类不能继承构造
子类:派生类;
父类:基类
继承的两大特性
单根性,一个类只能有一个直接父类。
base关键字和protected修饰符
base调用构造(参数列表)父类参数构造的参数一致。
public string sayhi()
{
string message=string.Format("大家好{0},今年{1}岁“,base.name,base.Age);
}
多态
不同的对象对于同一个操作,做出的相应不同,目的是为了统一调用。
public virtual string sayhi()
{
}
public overrde string sayhi()
{
}
实现多态
1.父类中定义sayhi()方法,用virtual关键字定义虚方法。
2.在子类定义子类自己的sayhi()方法,用override关键字修饰就实现了对父类方法重写。
六.深入多态
1.一个类用abstract修饰,就是抽象类
2.抽象类不能用实例化
3.抽象方法不能有方法体
4.抽象方法必须在抽象类中
5.抽象方法存在的目的是,为了约束子类,中方发。
6.抽象类不能是静态类(static)或者是密封(staled)
7.抽象类中的所有抽象方法都必须被子类重写,除非子类本身就是抽象类。
public abstract class job
{
public jop(){}
public abstract void Execute();
}
public override void Execute()
{
}
里氏替换原则:子类对象可以替换父类对象。
面向对象的三大特性
封装:保证对象自身数据的完整性和安全性
继承:建立类之间的关系,实现代码复用。
多态:相同的方法调用可实现不同的实现方式。
七.XML
解析XML