C#基础总结之七面向对象知识点总结1

 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、四种修饰符的访问权限:
    1private:本类中可访问
    2protected:本类及本类的子类中可访问
    3internal:本程序集中可访问
    4public:完全可访问
    字段的默认修饰符为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;
    }

 本系列教程:

C#基础总结之八面向对象知识点总结-继承与多态-接口-http://www.cnblogs.com/spring_wang/p/6113531.html

C#基础总结之七面向对象知识点总结1http://www.cnblogs.com/spring_wang/p/6113526.html

C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习http://www.cnblogs.com/spring_wang/p/6113520.html

C#基础总结之五Dictionary<string, string[]>和while循环http://www.cnblogs.com/spring_wang/p/6113514.html

C#基础总结之四List-Hashtable-冒泡排序http://www.cnblogs.com/spring_wang/p/6113504.html

C#基础总结之三循环控制-for-数组-乘法表-arraylisthttp://www.cnblogs.com/spring_wang/p/6113496.html

C#基础总结之二循环控制-运算符http://www.cnblogs.com/spring_wang/p/6113484.html

C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换http://www.cnblogs.com/spring_wang/p/6113476.html

C#基础课程之六(临时表)DataTable使用方法http://www.cnblogs.com/spring_wang/p/6113454.html

C#基础课程之五集合(HashTable,Dictionary)http://www.cnblogs.com/spring_wang/p/6113404.html

C#基础课程之四集合(ArrayList、List<泛型>)http://www.cnblogs.com/spring_wang/p/6113396.html

C#基础课程之三循环语句http://www.cnblogs.com/spring_wang/p/6113383.html

C#基础课程之二变量常量及流程控制http://www.cnblogs.com/spring_wang/p/6113372.html

C#基础课程之一注释和控制台、一些常识http://www.cnblogs.com/spring_wang/p/6113361.html

C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113291.html

C#基础第九天-作业-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113285.html

C#基础第八天-作业答案-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113274.html

C#基础第八天-作业-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113258.html

C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113232.html

C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113224.html

C#基础第六天-作业-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113028.html

C#基础第六天-作业答案-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113033.html

C#基础第五天-作业答案-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113022.html

C#基础第五天-作业-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113013.html

C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113005.html

C#基础第四天-作业-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113000.html

C#基础第三天-作业答案-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112888.html

C#基础第三天-作业-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112885.html

C#基础第二天-作业答案-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112881.html

C#基础第二天-作业-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112875.html

C#基础第一天-作业答案http://www.cnblogs.com/spring_wang/p/6112872.html

C#基础第一天-作业http://www.cnblogs.com/spring_wang/p/6112867.html

C#-string.Format对C#字符串格式化http://www.cnblogs.com/spring_wang/p/6077098.html

原文地址:https://www.cnblogs.com/spring_wang/p/6113526.html