class Class //定义一个类 名字是Class { const int RETIREMENT = 65; string NAME; string deptName; int age = 28; //如果是常量 只能获取,不能赋值 public string NameS //没有get和set方法 ,就不能获取及赋值 { get; set; } private string name; //私有 public string Name //私有,,定义公共属性 { get { return this.name; } set //可以在set中添加条件,控制赋值的内容 { this.name = value; } } //Class c1=new Class(); //实例化这个类 //c1.Name="zhangdan"; //set 赋值 //string cName= c1.Name; //获取 get }
//面向对象的三大特征 // 1.封装 // 2.集成 // 3.多态 //访问修饰符 // public 所属类的成员以及非所属类的成员都可以访问(不同程序集下注意引用 using另一程序集) // internal 当前程序集可以访问(同一项目下) // protected 所属类或派生自所属类的类型可以访问 // private 只有所属类的成员才能访问 (当前类下可以被访问,最高级别限制)(字段未私有 如果想要访问 定义公共类型的属性 添加get set方法) //构造函数(类的一种方法,与类同名) //一个类下可以与多个构造函数(参数不同),如果不定义构造函数(默认有一个无参的构造函数) //构造函数名称必须与类相同,调用时(实例时,传递需要的参数) //有参构造函数 //public Student(string name, int age, string hobby) // { // this.Name = name; // this.Age = age; // this.Hobby = hobby; //} //Student student = new Student("xiaoming",12,"kanshu");//调用以上的构造函数 //无参构造函数、 //public Student() // { // this.Name = name; // this.Age = age; // this.Hobby = hobby; // } //Student student = new Student();//调用以上的构造函数 //student.Name=xiaoming; //student.Age=12; //student.Hobby = kanshu; //静态成员 类下 static string id;(可以不用实例化,直接点出来) //静态构造函数 (只执行一次,适合初始化赋值)在程序加载就执行一遍,生命周期到贯穿整个程序。
1、面向对象三大特征:封装、继承、多态 2、封装具体的表现是类,类是将具有相同特征的事物封装在一起, 存储的是一类事物的属性及方法;对象是类的具体实现, 表示的是一个具体的事物; 比如学生可看作是一类事物,包含学生姓名、学生证编号、年龄、专业、班级等等; 而张三是学生类的一个对象,每个具体的对象都包含学生类的 属性和方法;但是每个对象的属性值和方法执行的结果都是不一样的(静态属性及静态方法除外); 3、四种修饰符的访问权限: 1、private:本类中可访问 2、protected:本类及本类的子类中可访问 3、internal:本程序集中可访问 4、public:完全可访问 字段的默认修饰符为private;方法的默认修饰符是internal;顶级类默认修饰符为internal(只能是public或internal); 4、构造函数(方法):public 类名(){} 1、无返回值 2、方法名必须是类名 3、如无构造函数则系统默认一个无参构造函数; 4、可定义多个构造函数(重载:参数类型不同,个数不同,顺序不同) 5、静态属性与静态构造函数(静态构造函数的执行是系统进行控制的) 静态构造函数执行的情况有两种: 1)、实例化一个对象时(创建对象); 2)、调用静态属性时,类名.静态属性 5、属性与字段的定义;字段原则上都是private类型,属性为public类型,属性的定义方式为: 1、方式一: private string name; //字段 public string Name //属性 { get { return this.name; } set { this.name = value; } } 方式二: public string Name { get; set; }
作者: 王春天
QQ群:322581894 关于作者: 大连天翼信息科技有限公司 技术总监。 SNF快速开发平台 创始人。应用平台架构师、IT规划咨询专家、业务流程设计专家。 专注于快速开发平台的开发、代码生成器。同时专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,精通DotNet系列技术Vue、.NetCore、MVC、Webapi、C#、WinForm等,DB(SqlServer、Oracle等)技术,移动端开发。熟悉Java、VB及PB开发语言。在面向对象、面向服务以及数据库领域有一定的造诣。现从事项目实施、开发、架构等工作。并从事用友软件产品U8、U9、PLM 客开工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。