zoukankan      html  css  js  c++  java
  • C#中类的运用(Eighth day)

    又到了总结知识的时刻了,今天在云和学院学习了类的运用,下面是今天所学知识的总结:

    理论

    类的定义语法:

    [访问修饰符] class 类名  

    {

    成员;  // 1.通过字段来描述类别信息的变量

    ......   // 2.用方法定义一个类的动作

    }

    类中可以包含变量的定义、方法。
    访问修饰符

    private : 私有成员, 在类的内部才可以访问。

    protected : 保护成员,该类内部和继承类中可以访问。

    public : 公共成员,完全公开,没有访问限制。

    internal: 当前程序集内可以访问。

    字段默认的访问修饰符是:Private,修饰的字段只能在一个类的内部访问

    类的实例化,用关键字new
    – 语法: 类   实例名 = new 类();
    类的成员的访问:

        实例名.属性    实例名.方法名();

    •字段、方法、属性(后面讲)都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的.

    Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。

    Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的
    对象初始化器: 类名.对象名=new 类名(){字段的赋值}
    属性
    •字段用public修饰的问题…用private
    •属性的定义.get;set; (set 赋值,get取值)
    •属性是为了保护与之相对应的字段的.保证对字段的读取和赋值符合要求.
    •属性可分为:读写、只读、只写。
    允许外部访问的变量一定要声明为属性
    类的构造方法
    •构造方法用来创建对象,并且可以在构造函数中对对象进行初始化。
    •构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。
    •构造函数可以有参数,new对象的时候传递函数参数即可
    •如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
    •构造函数可以重载,也就是有多个参数不同的构造函数。
    使用构造方法能解决:

    1)在赋初值时,重复的书写对象名

    2)假如我们有一个属性,不允许用户随意改动.我们一般把这个属性定义为只读类型的属性.

    那么这个只读类型的属性就不能在实例化后对他赋值了,那么我们如何对他初始化呢?我们

    可以通过构造方来进行初始化.

    我们定义好一个类,如果没有写构造方法,那么编译器就会自动在这个类中给我们添加一个没

    有参数的构造方法.

    一旦我们写了一个构造方法,那么编译器就不会再给我们添加这个没有参数构造方法了.

    实操:

    •请练习定义一个人类.人类分别用三个变量来表示姓名性别年龄,有一个吃饭的方法,有一个运动的方法.
    首先在项目里添加类,并且定义
     
     调用类

    定义一个学生类,有六个属性,分别为姓名、性别、年龄、语文、数学、英语成绩。

    有2个方法:
    –一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。
    –两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}
    实化两个对象并测试:
    –张三 男 18  三科成绩为:90 95 80
    –小兰 女 16  三科成绩为:95 85 100
     class Student
        {
            string name;
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            string gender;
            public string Gender
            {
                get { return gender; }
                set { gender = value; }
            }
            int age;
            public int Age
            {
                get { return age; }
                set { age = 18; }
            }
            int chinese;
            public int Chinese
            {
                get { return chinese;}
                set { chinese = value;}
            }
            int math;
            public int Math
            {
                get { return math; }
                set { math = value;}
            }
            int english;
            public int English
            {
                get { return english; }
                set { english = value; }
            }
            //一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。
    //两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}
            public void SayHi()
            {
                Console.WriteLine("我叫{0},今年{1}岁了,是{2}同学",name,age,gender);
            }
            public void Score()
            {
                int sum = 0;
                int avg = 0;
                sum = chinese + math + english;
                avg = sum / 3;
                Console.WriteLine("我叫{0},这次考试总成绩为{1}分,平均成绩为{2}分",name,sum,avg);
              
                
            }
            
        }
    

     

     关于构造函数,明天在继续总结学习吧。。。加油!

     

  • 相关阅读:
    分页
    hibernate 集合查询
    springmvc <mvc:default-servlet-handler/> & <mvc:annotation-driven>
    An owner of this repository has limited the ability to open a pull request to users that are collaborators on this repository.
    git 本地提交代码到 github 远程库,没有弹框 github login
    小鸡饲料任务,线下扫码付款收饲料地址
    小鸡饲料任务,蚂蚁庄园养鸡线下扫码付款收饲料地址,蚂蚁庄园养鸡线下扫码付款0.01元收饲料地址
    支付宝蚂蚁庄园线下支付链接,支付宝蚂蚁庄园线下支付地址
    kvm虚拟化
    Error Code: 1030. Got error -1 from storage engine
  • 原文地址:https://www.cnblogs.com/ysaw/p/4095843.html
Copyright © 2011-2022 走看看