什么是对象?
万物介对象,可以说是一个人,一个物体
对象有三种特性
封装 继承 多态
作用:
重用性性好(就和html里面的css的代码可以多次用到html里面)
可维护性好(哪里的模块有问题 修改哪个模块)
结构清晰 (代码省却了不少代码 调用哪个模块都清楚)
类
namespace fengzhuanglianxi1 //命名空间(程序集) + 空间名称
{
class Program //类 +类名
{
}
}
访问修饰符
public 公共的 访问权限最高的
interval 默认的,当前程序集下使用--就是在同一个命名空间下使用
private 私有的 只有在类里面使用,出了类不能调用
protected 被保护的
封装
什么是封装?
我个人理解为是把一堆代码(可以是一个方法 可以是类似结构体)打包/封装 一个模块 用来使用。
封装作用?
简便,快捷使用,保护
定义:
public class 类名
{
private 数据类型 _名称 ; //成员变量,字段 -------因为private是私有的 保护这个成员变量
public 数据类型 名称 ------------这里的数据类型不一定和上面的数据类型一致 名称是一样的 意思作为作为 保护 成员变量 和外界 的 中介
{
get{ return _名称; } ----获取成员变量的值 返回外界
set{ _名称=value; } ----从外界获取的值 放到成员变量
}
}
例如:

public class stundet { private string _Sno; public string Sno { get { return _Sno; } set { _Sno = value; } } private string _Sname; public string Sname { get { return _Sname; } set { _Sname = value; } } }
调用
先实例化
类名 变量= new 类名();
例如:

static void Main(string[] args) //写在Main函数里面 同一个命名空间下 { Student a = new Student(); Console.Write("请输入学号:"); a.Sno = Console.ReadLine(); Console.Write("请输入姓名:"); a.Sname = Console.ReadLine(); }
方法也是一样
例如:

public class Math //在Math类里面 { public int Jiafa(int a,int b) // 写用方法 { return a + b; //方法代码 并返回值 } } class Program { static void Main(string[] args) { Math a = new Math();// 实例化 int ss= a.Jiafa(10,2);// 调用方法 } }
成员变量 限制条件
例如:

private string _Sno; public string Sno { get { return _Sno; } //如果学号为空 显示<暂无> set { if (value == "") value = "<暂无>"; _Sno = value; } }
继承:
public class 子类名:父类类名
{}
一个子类只能有一个父类
子类可以继承全部父类中的public的方法和属性
父类 基类
子类 派生类 超类
--------------------------------------
多态:
子类的多种形态
有了继承才有了多态
virtual 写在访问修饰符之后,让方法变成 虚方法
可以被子类进行重写, override 只能重写函数体