zoukankan      html  css  js  c++  java
  • 类与对象

     public class student//创建一个学生类
        {   //属性是对现实世界中实体静态特征的抽象,它提供了对类或对象性质的访问。此处属性应指数据成员。
            //C#数据成员:包括字段、常量、属性,
            //字段:是在类范围声明的变量。
            //字段可以是内置数值类型或其他类的实例。
            //常量:是在类范围声明的常量,也理解为固定的字段。
            //属性:类中的私有或保护字段,外部不可直接访问,可用属性访问器(get 和 set)访问,体现了对象的封装性。
            //字段可以说就是属性;
            //属性访问器可以说是一种特殊的方法;
            //同时包含get和set的属性称为读写属性,只有get的属性称为只读属性,只有set的属性称为只写属性。
            //成员修饰符后跟static声明的属性是静态属性,意义类似静态方法,直接使用而不能实例化后使用。
    
            private string name;
    
            public string Name
            {
                get 
                { 
                    return name;
                }
                set
                {
                    if (value.Length > 1)
                    {
                        name = value;
                    }
                    else 
                    {
                        name = "名字不完整";
                    }
                }
             
            }
           
            private uint age;
            public uint Age //只写
            {//读访问器
               
                set
                {
                    
                        age = value;
                 
                   
                }
            }
    
    
            private char Sex;
    
            protected char Sex1
            {
                get { return Sex; }
                set { Sex = value; }
            }
          
            private string telephone;
    
            internal string Telephone
            {
                get { return telephone; }
                set { telephone = value; }
            }
          //不需要私有变量,不必验证,完全开放
    
            public string Grade
            {
                get;
                set; 
    
            }
            //方法成员列表
            public void say()
            {
                Console.WriteLine("Hello, 淄博汉企");
    
            }
            public double Sum(double x, double y)
            {
                return x + y;
            }
            public int Sum(int x, int y)
            {
                return x + y;
            }
            //两个同名函数彼此构成“重载(Overload)”关系
            //两个构成重载关系的函数必须满足以下条件。(1)函数名相同。(2)参数类型不同,或参数个数不同。
         //返回值类型的不同不是函数重载的判断条件。
        //    public long Sum(int x,int y)
        
        //    {
        //        return x+y;
        //}
            //当使用new关键字创建一个对象时,一个特殊的函数被自动调用,这就是类的构造函数。
            //类的构造函数与类名相同,没有返回值。一般用于初始化类的私有数据字段。
            public student()
            {
                this.name = "12138";//this指当前类
                
    
            }
        }
            
           public class boystudent : student //类的继承
            {
              
               
                public static char Sex='';
               
                public void ChildFunc()
                { 
                   Console.Write("这是个子类");
    
                }
               
               
            }
           class StaticMembers
           {
               public static int staticVar = 0;
               public int dynamicVar = 0;
               public void increaseValue()
               {
                   staticVar++;
                   dynamicVar++;
               }
               public static void staticFunc()
               {
                  // increaseValue();
    
                   StaticMembers obj = new StaticMembers();
    
                   obj.dynamicVar++;
                   staticVar++;
               }
               //
               
           }
    static void Main(string[] args)
            {//类的实例化
               student stu=new student();
               boystudent boy = new boystudent();
              // stu.Name = "提莫";
                
               stu.Grade = "淄博汉企";
               stu.Telephone = "1234567";
               stu.Age = 3;
               Console.WriteLine(stu.Name+stu.Grade+stu.Telephone);
                //方法调用
               stu.say();
               boy.ChildFunc();
               Console.WriteLine(stu.Sum(3,4));
                //子类方法
               Console.Write(boy.Sum(3.4, 3.5));
               StaticMembers obj = null;
               for (int i = 0; i < 100; i++)
               { 
               obj=new StaticMembers();
               obj.increaseValue();
               }
                //查看静态字段与普通字段的值
               Console.WriteLine("dynamicVar="+obj.dynamicVar);
               Console.WriteLine("staticVar="+StaticMembers.staticVar);
                //类的静态成员是供类的所有对象所共享的。
    
    
                   Console.ReadLine();
  • 相关阅读:
    js 练习,点击计算三个数的最大值,省级联动
    CSS 笔记
    CSS练习
    Html 学习笔记
    MySQL 执行计划详解
    别人家的元数据系统是怎么设计的
    深入浅出Dubbo RPC
    算法的时间复杂度和空间复杂度详解
    序列化 & 反序列化
    MySQL的四种隔离级别
  • 原文地址:https://www.cnblogs.com/liuyudong0825/p/4833563.html
Copyright © 2011-2022 走看看