------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
一、面向对象(万物皆对象):
1、面向对象不是替代面向过程,是对面向过程的补充和完善。
类的概念:是对有共同属性和方法的一种抽象。相当于建个模型,限制对象的范围。类是对象的类型。例如:人类的属性有,姓名、年龄、性别等属性,说,吃等动作。
对象就是类的具体的实实在在的表现。例如人类中具体的人。老师,学生,医生、家长等就具有姓名、年龄、性别等属性,说,吃等动作。
即是类是有属性和方法构成的。
属性:对象具有的各种特征,每个对象的每个属性都拥有特定值。
方法:行为,动作,执行的操作。
对象是类的实例。类不占内存,对象占内存。
2、类的定义:
[访问修饰符] class 类名
{
成员(属性和方法);
……
}
类的实例化,用关键字new
语法:类 实例名=new 类();
类的成员访问:实例名.属性 实例名.方法();
//定义person类
public class Person
{
//属性
public string name;
public int age;
public char sex;
//方法
public void say()
{
Console.WriteLine("我叫{0}{1}今年{2}岁",this.name,this.sex,this.age);
}
}
static void Main(string[] args)
{
//实例化p1对象
Person p1 = new Person();
p1.name = "张三";
p1.sex = '男';
p1.age = 22;
p1.say();
Console.ReadKey();
}
3、访问修饰符:
public 任何地方可访问
private 只能在本类访问(在类中如果不写,默认的是private)
internal 只能在本项目中访问(类不写,默认是internal)
protected 只能在本类和子类被访问
4、属性
属性的定义:get、set。
属性是为了保护与之相对应的字段。保证对字段的读取和赋值符合要求。
属性分为:读取、只读、只写。
允许外部访问的变量一定要声明为属性。
5、构造方法:实例化对象时,系统会为对象属性初始化,是个特殊的方法,定义一个构造函数后,系统就不在为我们添加无参数的构造方法,需要我们自己指定。
格式:与类名相同 ,无返回值
public class Person
{
//无参构造方法
public Person()
{
}
//有参数的构造方法
public Person(string name,int age,char sex)
{
this.name = name;
this.age = age;
this.sex = sex;
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
private char sex;
public char Sex
{
get { return sex; }
set { sex = value; }
}
//方法
public void say()
{
Console.WriteLine("我叫{0}{1}今年{2}岁", this.name, this.sex, this.age);
}
}
static void Main(string[] args)
{
//创建对象,并实例化
Person p1 = new Person("zhangsan",33,12);
p1.say();
Console.ReadKey();
}
5、析构函数
析构函数不能在结构中定义,只能对类使用,一个类只能有一个,无法重载和继承;无法调用析构函数,析构函数既没有修饰符也没有参数。
public class Person
{
//析构函数
~ Person()
{
}
六、命名空间(namespace)
用于解决类重名的问题,可以看做"类的文件夹"。
在不同命名空间下的类调用有两种方法
写全称 命名空间.类名
先using 引用命名空间,再调用
七、字符串(string)
可以看成是char的只读数组,他的值是不可改变的,要改变字符串的内容,用StringBuilder类。
string name="zhangsan";
Console.Writeline(name[3]);
一切类型对可以调用.toString()方法。
static void Main(string[] args)
{
string xm = "hello,world!";
char[] chars = xm.ToCharArray();
chars[2] = '我';
xm = new string(chars);
Console.WriteLine(xm);
string name = "Hello,World!";
name.Equals(xm, StringComparison.CurrentCultureIgnoreCase);
Console.WriteLine(name.ToLower());//小写
Console.WriteLine( name.ToUpper());//大写
bool isTrue= name.Contains('W');//是否包含W
Console.WriteLine(isTrue); string[] words= name.Split(','); //按,分隔
for (int i = 0; i < words.Length;i++ )
{
Console.WriteLine(words[i]);
}
Console.WriteLine( name.Replace(',','.'));//把,替换.
Console.WriteLine(name.Substring(0, 3)); //从0开始截取长度为3的字符串
Console.WriteLine(name.IndexOf('H'));//查找H第一次出现的位置
Console.ReadKey();
}
-------Windows Phone 7手机开发、.Net培训、期待与您交流! -------
375

被折叠的 条评论
为什么被折叠?



