黑马程序员—面向对象的部分知识点

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

 以下是我学习面向对象的过程中记录下的部分知识点,与大家分享下:

程序员眼中:万物皆对象

一些基础知识
1、属性:对象具有的各种特征;
每个对象的每个属性都有特定的值;
方法:行为,动作,执行的操作;
对象:是事实存在的东西,能实实在在看到的东西;
2、类:
类是模子,确定对象将会拥有的特征(属性)和行为(方法); 类是对象的类型。类不占类存,对象占内存;
从类产生对象叫实例化;
定义类的语法:
[访问修饰符]class 类名
{
    成员;
    ......
}
一个类定义在一个CS文件中,类的名字最好也和文件相同;类的取名一般用Pascal命名法;
在我们自己写的类中,我们在写方法是先不用加static;
下面我们定义了一个叫Person的类,这个类仅仅是人这个对象的模板,在这个模板中规定人类对象都应该有 姓名 性别 年龄 属性和SayHello方法:
    class Person
    {
        public string name;
        public char sex;
        public int age;
        public void SayHello()
        {
            Console.WriteLine("我是{0},我是{1}生,我今年{2}岁了!",name,sex,age);
        }
    }
通过类产生一个对象的过程,叫做类的实例化;语法:类   实例名 = new   类()
访问类的属性:
实例名.属性名
访问类的方法:
实例名.方法名()
在定义属性和方法的得前面一定要加Public;
属性可以取值赋值,方法只能调用;
只要是没加static的方法或者属性,都必须先实例化,再通过实例名.方法名或实例名.属性访问;
加static的方法或属性,可以直接通过 类名.方法名或类名.属性来访问;
3、访问修饰符:在C#中有四个访问修饰符
public:可以在任何地方被访问
intermal:只能在本项目中被访问
private:只能在本类中被访问
preotected:只能在本类和子类中被访问
在类这个级别,不写访问修饰符默认为intemal
在一个类中定义变量或方法时,没有写访问修饰符,那么默认的访问修饰符为private;
4、属性:定义一个public的具有get/set方法的变量,这个变量是用于保护一个私有变量;
允许外部访问的变量一定要申明为属性;
赋值调用set,取值调用get;凡是要被外部调用的全部定义成属性;
set中有个关键字,value中就是存储着用户赋的那个值
读写属性:具有get和set方法的属性就叫读写属性;只有get方法的属性叫做只读属性;同理只有set方法的属性叫做只写属性(只写属性用的很少);
字段一般都是用骆驼命名法,首字母小写或者以下划线开头;属性一般用Pascal命名法,首字母大写;
当我们实例化一个类时,系统会自动对这个类的属性进行初始化:
数字类型初始化为:0/0.0
string类型初始化为:null
char类型初始化为:/0
5、使用构造方法的好处:
(1)不需要对多个属性进行赋值时,不需要重复的写实例名;
(2)可以保证用户在new一个对象的时候必须对某一个属性进行赋值;
(3)和第(2)类似,在创建对象时,对只读属性进行初始化;
当我们定义好一个类之后,如果我们没有写构造方法,那么系统自动会给我们加上一个默认的没有参数的构造方法;
我们可以定义一个构造方法:
构造方法是一个特殊的方法,他的名字和类的名字相同,并且没有返回值,连void都可以省略不写,我们一旦手写一个构造方法后,系统原先给我们默认给我们添加的那个无参的构造方法就不会再为我们添加了;
要实例化一个类,必须调用构造方法;
要想抛一个异常了,可以这样写:
throw new Exception(“错误信息”);
6、命名空间:用于解决类的重名问题;
不在同一个命名空间下的类,不能直接访问,要想访问别的命名空间下的类有两种方法:
(1)通过using引用对方的命名空间
(2)写全称,命名空间名.类名
.NET命名空间是逻辑上的划分,物理上没有关系
System 根命名空间
7、string可以看作是char的只读数组;


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值