面向对象-封装
.cs类 - 就像一个文本文档,里面就是放置C#代码
构造函数 - 创建一个类的函数
每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值, 方法名与类名一致
自己写的类 - 用户自定义类型 如果要使用咱们自定义类型产生出来的 对象 必须有一个实例化的过程 类型名 ss = new 构造函数();
.cs类中的代码
namespace 封装 { class student { public student() { } private string _code;//成员变量 /// <summary> /// 学生编号 /// </summary> public string Code //属性 { get { return _code; } set { _code = value; } } private string _name; /// <summary> /// 学生姓名 /// </summary> public string name { get { return _name; } set { _name = value; } } private string _sex; public string sex { set { if (value == "男") { _sex = "男"; } else if (value == "女") { _sex = "女"; } else { _sex = "错误"; } } get { return _sex; } } private string _age; public string age { set { if (int.Parse(value)<20) { _age = "qingnian"; } else if (int.Parse(value) < 50) { _age = "zhngnian"; } else { _age = "laonian"; } } get { return _age; } } } }
主程序、main函数中的代码
static void Main(string[] args) { student st = new student(); st.sex = "大"; Console.WriteLine(st.sex); st.age = "11"; Console.WriteLine(st.age); }
访问修饰符 - 4个
public - 公共的,任何地方都可以访问,但是需要引用 命名空间
private - 私有的,类的内部才可以访问
internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间
protected - 被保护的,类的内部和类的父类和子类中可以访问
封装: private 数据类型 _名字; --成员变量
public 默认一致 名字 --属性 { get{ return _名字; } set{ _名字 = value; } }
类中不仅可以有成员变量和属性,还可以有成员方法
方法又分为,普通方法 静态方法
普通方法使用: 需要实例化对象,用对象点出来 静态方法使用: 直接用类名点出来,不需要实例化对象
继承: 继承语法: 类名 : 父类名
子类 , xxx的派生类,超类
父类 , 基类
一个父类可以有无数个子类 一个子类可以有1个父类(亲爹)
子类并不是可以继承父类中所有的东西,而是可以继承父类中允许子类继承的内容,这个允许条件是依靠 访问修饰符 来做的权限
fly.cs中:
namespace 继承 { public class Fly { public string Fling() { return "我会飞行!!!"; } } }
plane.cs中:
namespace 继承 { public class Plane : Fly { } }
bird.cs中:
namespace 继承 { public class Bird : Fly { } }
program.cs中:
namespace 继承 { class Program { static void Main(string[] args) { Plane pl = new Plane(); Console.WriteLine(pl.Fling()); Bird b = new Bird(); Console.WriteLine(b.Fling()); Console.ReadKey(); } } }