1、温习
属性:掩护字段的
结构函数:初始化东西
初始化东西:给东西的每个属性去赋值
什么时候会挪用结构函数:当我们new的时候
面向东西中需要注意的两个关键字
this
1.代表当前类的东西 2.挪用本身的结构函数
new 1.创建东西 2.隐藏从父类哪里担任过来的成员
base 挪用父类的结构函数,在子类中挪用父类的重名要领
什么是类?
类是模子,确定东西将会拥有的特征(属性)和行为(要领)
什么是东西?
东西是一个你能够看得到,摸得着的具体实体-万物皆东西(具体存在的对象)
类是模具,创建东西的模具,抽象的。
类是一种数据类型,用户自界说的数据类型
类构成:字段,属性,要领,结构函数等
东西是具体的,是类的具体实例,东西具有属性(特征)和要领(行为)
类中包罗了数据(用字段暗示)与行为(用要领(函数、成果)暗示,要领为一块具有名称的代码)
2、访谒修饰符
public
果然的,大众的
private
私有的,只能在当前类的内部访谒,类中成员们,如果不加访谒修饰符,默认就是private
procteced
受掩护的,可以在当前类的内部访谒,也可以再该类的子类中访谒。
internal
在当前项目中都可以访谒。
procteced internal
在当前项目和改类的子类中都可以访谒
能够修饰类的访谒修饰符只有两个,Internal和public
3、常用的关键字
this
1.代表当前类的东西
2.挪用本身的结构函数
base
挪用父类的成员
new
1.创建东西
2.隐藏父类的成员
virtual
符号一个要领是虚要领
abstract
抽象的
override
重写
interface
接口
partial
部分类
sealed
密封类:不允许被担任,但可以担任别人
return
1.在要领中返回要返回的值
2.当即结束本次要领
break
跳出当前循环
continue
结束本次循环,回到循环条件进行判断
static
静态的
struct
布局
enum
枚举
const
常量
4、虚要领,抽象要领
关于虚要领需要注意的几点:
1.父类中如果有要领需要让子类重写,则可以将该要领符号为virtual
2.虚要领在父类中必需有实现,哪怕是空实现。
3.虚方办法类可以重写(override),也可以不重写
关于冲向要领注意的几点:
1.需要用abstracy关键字符号。
2.抽象要领不能有任何要领实现。
3.抽象成员必需包罗在抽象类中。
4.由于抽象成员没有任何实现,所以子类必需将抽象成员重写。
5.抽象类不能实例化,
抽象类的感化:抽象类的感化就是为了让子类担任。
6.抽象类中可以包孕抽象成员,可以包孕有具体代码的成员。
7.还有抽象要领不能用static修饰
5、接口
1.接口中只能包罗要领(属性、时间、索引器也都是要领)
2.接口中的成员都不能有任何实现。光说不做
3.接口不能被实例化
4.接口中的成员不能有任何访谒修饰符。(默认为public)
5.实现接口的子类必需将接口中的所有成员全都实现。
6.子类实现接口的要领时,不需要任何关键字,直接实现即可。
7.接口存在的意义就是为了多态。
接口是什么?什么时候使用接口?使用接口的目的是什么?多态
鸟会飞 飞机也会飞
不能把飞提取出来作为父类,只能把飞写成一个接口
public interface IFlyable
{
void fly();
}
public class Bird
{
}
public class QQ : Bird
{
}
public class Maque : Bird, IFlyable
{
public void fly()
{
Console.WriteLine("鸟会飞");
}
}
public class Plane:IFlyable
{
public void fly()
{
Console.WriteLine("飞机会飞");
}
}
IFlyable fly = new Maque();
fly.fly();
Console.ReadKey();
担任,先写父类,再写接口
属性
结构函数
重载,多态
6、字符串
1.字符串的不成变性
2.字符串可以看做是char类型的只读数组
7.高效的StringBuilder
不需要斥地新的string空间,可以添加,拼接,插入,,替换字符串,最后再toString转为string类型
StringBuilder sb = new StringBuilder();
sb.Append("张三");
sb.Append("李四");
sb.Append("王五");
sb.Append("赵六");
sb.Insert(1, 123);
sb.WordStr("李四", "颜色");
sb.ToString();
Console.WriteLine(sb);
Console.ReadKey();
Console.ReadKey();
表格
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.Append("<head>");
sb.Append("</head>");
sb.Append("<body>");
sb.Append("<table border=‘1px‘ cellpadding=‘0px‘ cellspacing=‘0px‘>");
sb.Append("<tr>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("<td>星期一</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</body>");
sb.Append("</html>");
webBrowser1.DocumentText = sb.ToString();
7、调集
ArraryList
Hashtable
List<T>
Dictionary<TKey,Tvalue>