面向对象已经听了很多遍了,那到底什么是面向对象呢?今天终于学到了关于面向对象的一部分,那就是类和对象。
1、什么是对象?
看的见,摸得到的,特指的实体就是对象。
2、什么是类?
类就是模子,确定对象将会拥有的特性(属性)和行为(方法)。
3、如何创建一个类呢?
public class Person
{
//字段
public string _name;
public int _age;
public char _gender;
public void SayHello()
{
Console.WriteLine("您好,我是人。");
}
public void Walk()
{
Console.WriteLine("我走路。");
}
}
4、类的实例化
语法:
类.实例名=new 类();
5、类的成员访问:
语法:
实例名.属性
实例名.方法名()
字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问。访问级别的用处在于控制成员在哪些地方被使用,这样达到面向对象中“封装”的目的。
6、访问修饰符
private:私有成员,在类的内部才可以访问。
protected:保护成员,该类内部和继承类中可以访问
public:公共成员,完全公开,没有访问限制
internal:当前程序内可以访问
7、举例:
类中的代码:
public class Person
{
//字段
public string _name;
public int _age;
public char _gender;
public void SayHello()
{
Console.WriteLine("您好,我是人。");
}
public void Walk()
{
Console.WriteLine("我走路。");
}
}
客户端代码:
static void Main(string[] args)
{
Person per = new Person();//类的实例化
per._age = 10;//赋值
per._gender = '男';//赋值
per.Walk();//调用方法
per.SayHello();//调用方法
Console.WriteLine(per._age);
Console.WriteLine(per._name);
Console.WriteLine(per._gender);
Console.ReadKey();
}
8、在.NET中类(class)与结构(struct)的异同?
Class
可以实例化,属于应用类型,是分配内存的堆上的,是引用传递的。
Struct
属于值类型,是分布在内存的栈上的,是复制传递的。Int32、Boolean等都属于结构体。
学习了C#才知道,原来面向对象语言可以真正意义上的减少代码的冗余,提高效率,加油,加油!