传智播客 C#面向对象基础苏坤.docx
《传智播客 C#面向对象基础苏坤.docx》由会员分享,可在线阅读,更多相关《传智播客 C#面向对象基础苏坤.docx(11页珍藏版)》请在冰点文库上搜索。
传智播客C#面向对象基础苏坤
类是对象的类型
Inta;
数据类型变量名;
人类XXX
定义类的语法:
[访问修饰符]class类名
{
成员;
………….
}
注意:
在我们自己写的类中,我们自己写的方法时,先不用加static;
我们定义了一个Preson的类,这个类仅仅是人这个对象的模版。
在这个模版中规定人类对象都应该有姓名性别你年龄属性和SayHello方法。
代码如下:
如何通过一个类产生一个对象呢?
语法:
类实例名=new类();
访问类的属性:
实例名.属性名
访问类的方法:
实例名.方法名();
只要是没有加static的方法或属性,都必须先实例化,再通过实例名.方法名或实例名.属性来访问。
或类名.属性名来访问。
加static的方法或属性,可以直接通过类名
.方法名或类名.属性为来访问。
代码如下:
访问修饰符:
在c#中有4个访问修饰符
Public:
可以在任何地方被访问
(公共)
internal:
只能在本项目中被访问
(内部)
Private:
只能在本类中被访问
(私有的)
Protected:
只能在本类和子类中被访问
(受保护的)
在类这个级别,不写访问修饰符默认为internal
在一个类中定义变量或方法时,没有写访问修饰符,那么默认的访问修饰符为private。
什么叫属性:
通俗点说就是定义一个public的具有get/set的方法的变量。
这个变量是用于保护一个私有变量。
允许外部访问的变量一定要声明为属性。
读写属性:
具有get/set的方法的属性叫做读写属性。
只有get方法的属性称为只读属性。
这个属性只能读取不能写入。
只有set方法的属性称为只写属性。
这个属性只能写入不能读取。
当我们实例化一个类时,系统会自动对这个类的属性进行初始化:
数字类型初始化成0/0.0
String类型初始化成:
null
Char类型初始化成:
﹨0
使用构造方法的好处:
1.对多个属性进行赋值时,不需要重复的写实例名。
2.可以保证用户new一个对象的时候必须对一个属性进行赋值。
3.和第2类似,在创建对象时,对只读属性进行初始化。
当我们定义好一个类之后,如果我们没有写构造方法,那么系统会自动给我们加上一个默认的无有参数的构造方法。
在这个构造方法中什么也不做。
我们也看不到
我们可以定义一个构造方法:
构造方法是一个特殊的方法,他的名字和类的名字相同,并且没有返回值。
Void都可以省略不写。
我们一旦手写一个构造方法后,系统原先默认给我们添加的那个无参的构造方法就不会再为我们添加了。
要实例化一个类,必须调用他的构造方法。
要想抛一个异常类,可以这样写:
Thrownewexception(“错误信息”);
例如:
Namespace(命名空间),用于解决类的重名问题,可以看做“类的文件假”。
不在同一个个命名空间的类不能被直接访问。
要向访问别的命名空间下的类有两种方法:
1.通过Using引用对方的命名空间;
写出命名空间(ctrl+.回车)
2.写全称命名空间.类名。
System根命名空间;
String类型可以看做是char的只读数组;
练习:
String类:
方法:
ToLower
ToUpper
Equals
属性:
Length(作用:
获得字符串长度)
字符串在内存中一旦生成,就不可改变。
叫字符串的不可改变性。
Replace:
Substring:
Contains:
Indexof:
字符串处理练习:
练习:
解题方法:
最后直接传SP也可以。
(因为sp是数组)