面向对象:就是CLASS,class就是用户自定义类型;
class:用户自定义引用类型;
三大特点:封装、继承、多态;
解决方案中右键添加class;
class内可以写结构体,枚举,函数;
C#中各个形状的含义
属性----------小扳手
成员变量------长方体
方法(函数)--立方体
封装:---属性
成员变量;对象;
public修饰符--可以跨类访问;
Main函数中Static不属于任何类,所以必须调用类;
方法的重载:
一个函数有多重的含义;
名称相同,参数不同时;
Ctrl+Shift+空格
类的静态成员:(Static)
就是不需要初始化
Static就是静态的意思;
在通过对象不走;直接通过“类”走;
讲义中:for循环中区分下区别的
命名空间:
namespace 名字----命名空间;
using就是应用的意思;
类库:
构造函数:
每一个类都默认有一个同名的无参数无返回值的构造函数;
造对象的过程,new初始化,实际就是调用类的构造函数的过程;
例子:public 名字(){}这就是默认的无参无返回值构造函数;
构造函数也是可以重载的;
四个修饰符:
public:可以跨命名空间使用,需要引用命名空间名;
private:私有的,只能在自己当前类访问;
protected:受保护的,能够跨类,在自己的子类可以访问;
internal(内部的,默认的)当前命名空间使用;
继承:类与类之间的关系(父子关系)
子类继承父类,那么子类就拥有父类的公共属性和方法;
一个子类只能继承一个父类,一个父类可以有多个子类;
子类对象可以直接转成父类,但父类只能“转回”对应的子类;
如果子类转成父类之后,父类对象就不能有子类的属性和方法;
继承的是公共的类;
引用类型和值类型的区别:
赋值时:
int a = 1;
int b = a;//a与b是两个完全不同的
Class1 dataa = new Class1();
Class1 datab = new Class1();//完全不同的
Class1 data1 = new Class1();
Class1 data2 = data1;//data2只是data1的一个快捷方式;是相同的;
class Tiger:Animal(继承关系表达)
{
}
继承的重载:
子类继承父类的方法,同名不同参时就可出现重载;
如果与父类同名同参时:子类只调用自己的方法;
还有一个虚方法(在其他班视频的6中最后几分钟),在子类转换成父类型后,仍然调用的是子类的方法;
多态:有了继承,才有多态。子类的多样化。
抽象基类与接口:就是子类必须继承父类的属性或方法;
抽象类不能造对象;无法直接在Main函数中new初始化使用;只有通过子类来使用;
就是加上abstract在class前
抽象方法和属性必须写在抽象类内;
抽象方法直接“;”结束,里面不写内容,通过子类必须写
override来实现;
抽象属性:
public abstract string 名字
{
get;
set;
}
接口:(相当于子类的师傅,一个子类可以有多个接口)
public interface xixing
{
void quyu();
}
以上就是一个xixing接口,里面有个函数quyu();
子类与接口连接后,也必须使用此接口内的函数;
winform:
partial分割;
所有控件都是类;
所有属性就是封装;
this说的是自己所在的类;
委托在类的外面;
委托变量的加法和减法:
委托变量的加法:当两个委托变量相加后,会先后执行,
最后返回后一个委托变量的值;
委托变量的减法:执行减号前面的委托变量,减号后面的的委托变量就不执行了;
class Tiger:Animal(继承关系表达)
{
}
继承的重载:
子类继承父类的方法,同名不同参时就可出现重载;
如果与父类同名同参时:子类只调用自己的方法;
还有一个虚方法(在其他班视频的6中最后几分钟),在子类转换成父类型后,仍然调用的是子类的方法;
多态:有了继承,才有多态。子类的多样化。
抽象基类与接口:就是子类必须继承父类的属性或方法;
抽象类不能造对象;无法直接在Main函数中new初始化使用;只有通过子类来使用;
就是加上abstract在class前
抽象方法和属性必须写在抽象类内;
抽象方法直接“;”结束,里面不写内容,通过子类必须写
override来实现;
抽象属性:
public abstract string 名字
{
get;
set;
}
接口:(相当于子类的师傅,一个子类可以有多个接口)
public interface xixing
{
void quyu();
}
以上就是一个xixing接口,里面有个函数quyu();
子类与接口连接后,也必须使用此接口内的函数;
1110:
winform:
partial分割;
所有控件都是类;
所有属性就是封装;
this说的是自己所在的类;
委托在类的外面;
委托变量的加法和减法:
委托变量的加法:当两个委托变量相加后,会先后执行,
最后返回后一个委托变量的值;
委托变量的减法:执行减号前面的委托变量,减号后面的的委托变量就不执行了;