定义一个public的变量,在这个变量中含有get/set两个方法,这个变量是为了保护一个私有变量的。

 

属性是为了保护与之相对应的字段的,保证对字段的读取和赋值符合要求。

属性可分为:读写,只读,只写。

允许外部访问的变量一定要声明为属性

具有get/set方法的属性就叫做读写属性

只有get方法的属性就叫做只读属性

只有set方法的属性就叫做只写属性

 

 

练习题:

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

有两个方法:

1.打招呼的方法:介绍自己叫xx,今年几岁了,是男同学还是女同学

2.两个计算自己总分数和平均分的方法,显示:我叫xx,这次考试总成绩为x分,平均成绩为x分

实例化两个对象并测试

张三 男 18 三科成绩为:90,95,80

小兰 女 16 三科成绩为:95,85,100

 

using System;
using System.Collections.Generic;
using System.Text;

namespace 练习_属性
{
    class Student
    {
        string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        char sex;

        public char Sex
        {
            get { return sex; }
            set { sex = value; }
        }
        int age;

        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        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; }
        }


        public void SayHello()
        {
            Console.WriteLine("我叫{0},今年{1}岁了,是{2}同学。",name,age,sex);
        }

        public void ShowScore()
        {
            int sum = chinese + english + math;
            int avg = sum / 3;
            Console.WriteLine("我叫{0},这次考试总成绩为{1}分,平均成绩为{2}分",name,sum,avg);
        }
    }
}


Main方法:

Student stu1 = new Student();
            stu1.Name = "张三";
            stu1.Sex = '男';
            stu1.Age = 18;
            stu1.Chinese =90;
            stu1.English =95;
            stu1.Math=80;
            stu1.SayHello();
            stu1.ShowScore();

            Console.WriteLine();

            Student stu2 = new Student();
            stu2.Name = "小兰";
            stu2.Sex = '女';
            stu2.Age = 16;
            stu2.Chinese =95;
            stu2.English =85;
            stu2.Math=100;
            stu2.SayHello();
            stu2.ShowScore();

            Console.ReadLine();

运行结果:

c#基础--属性

相关文章: