黑马程序员关于面向对象及类的属性的笔记

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------  

时间飞驰,感觉刚刚开始学习又到凌晨1点多了,好像睡会啊,可是笔记还没有整理出来!

面向对象

通过程序代码来描述真实的世界万物;

在程序员的世界里,万物皆对象;

            属性(特征):对象所具有的各种特点,没个对象的属性都拥有特定值。

描述对象

             方法(行为):行为、动作、执行操作。

对象是实实在在存在的,是一个可以看得见摸得找的实体。

 

首先类是对象的类型,类是模子,确定对象将会拥有属性(特征)、方法(行为)。

类可以作为数据类型来声明变量(字段)

类不占内存,对象占内存;

对象可以称为类的实例;声明一个对象叫做对象的实例化。

定义类名的命名一般采用Pascal命名法进行命名,它的后缀名为.cs,并且类名与文件名

相同。

定义类

语法:

[访问修饰符] class类名

{

成员(类的属性和方法)

}

可以通过右键        添加          新建项            类,新建一个类。

类的实例化:

类名 实例名=new 类名();

访问类的属性:

实例名.属性=(赋值);

访问类的方法:、

实例名.方法();(调用方法)

C#中的四个访问修饰符:

Public:可以在任何地方访问该类;

Internal:只能在本项目中被访问;

Private:只能在本类中被访问;

Protected:只能在本类或子类中被访问;

 

在一个类中定义方法或变量时默认的访问修饰符为private

在类级别里定义方法或变量时默认的访问修饰符为internal

在类中定义的变量应该叫作字段这种图标表示的东西才叫属性。

属性:

定义一个变量在变量里含有get/set两个方法,在属性里面用value储存用户赋的值。

属性是为了使相应的字段的读取和赋值符合要求规范,允许外部访问的字段一定要声明为属性。

属性设置的快捷键:ctrl r e

属性分为:只读、读写、只写属性:

读写:属性里面含有get/set方法;

只读:只有get方法的属性(只能读不能写)

只写:属性里面只有set方法(只能写入不能读取)

没有加static的方法和属性,在访问时必须先实力化一个对象,然后通过实例名.方法名或实例名.属性来访问;

加static的方法和属性,在访问是可以直接通过类名.方法名或类名.属性来访问!

    class Person

    {

        private string name;

 

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

        private char sex;

 

        public char Sex

        {

            get { return sex; }

            set

            {

                if (Sex == '男' || Sex == '女')

                {

                    sex = value;

                }

                else

                {

                sex='男';

                }

 

            }

        }

        private int age;

 

        public int Age

        {

            get { return age; }

            set

            {

                if (Age >= 0)

                {

                    age = value;

                }

                else

                {

                    age= 0;

                }

            }

        }

        private int chinese;

 

        public int Chinese

        {

            get { return chinese; }

            set

            {

                if (Chinese >= 0)

                {

                    chinese = value;

            

                }

                else

                {

                     chinese=0;

                }

            }

        }

        private int math;

 

        public int Math

        {

            get { return math; }

            set

            {

                if (Math >= 0)

                {

                    math= value;

 

                }

                else

                {

                    math = 0;

                }

            }

        }

        private int english;

 

        public int English

        {

            get { return english; }

            set

            {

                if (English >= 0)

                {

                    english = value;

 

                }

                else

                {

                    english = 0;

                }

            }

        }

        public void Input()

        {

 

            Console.WriteLine("我叫{0},今年{1}岁了,我是个{2}生",name,age,sex);

            Console.WriteLine("我叫{0},我的总成绩是{1},我的平均成绩是{2}", name, math + chinese + english, (math + chinese + english)/3);

        }

 

    }

 

 

 

class Program

    {

        static void Main(string[] args)

        {

            Person oneperson =new Person();

            Console.WriteLine("请输入这个学生的名字");

            oneperson.Name = Console.ReadLine();

            Console.WriteLine("请输入你的性别:");

            oneperson.Sex = char.Parse(Console.ReadLine());

            Console.WriteLine("请输入你的年龄");

            oneperson.Age = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入你的语文成绩:");

            oneperson.Chinese = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入你的英语的成绩:");

            oneperson.English = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入你的数学成绩:");

            oneperson.Math = int.Parse(Console.ReadLine());

 

            oneperson.Input();

            Console.ReadKey();

       

        }

    }

 

------- Windows Phone 7手机开发.Net培训、期待与您交流! ------  详细请查看:http://net.itheima.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值