一、一些主要概念:
对象:就是一个实体。可以是一个事物,也可以是一个人。是看得见、摸得到的具体的东西。
属性:对象具有的各种特征。例如:张三的属性有姓名,性别,年龄等等。
属性值:描述这个特征的值。
方法:对象的行为、动作、执行的操作。例如:老师的行为:上课。
类:类是模子,确定对象将会拥有的特征(属性)和行为(方法)。类是对象的类型。
类和对象的区别:
类是抽象的概念,不仅仅是模板。比如说“人”类;对象是一个你能够看得到、摸得着的具体实体。
类是对象的抽象;对象是类的具体实例。
类是抽象的,不占用内存;而对象是具体的,占有内存空间。
例如:类就是水果,对象就是苹果。
二、类的定义:
语法:
[访问修饰符] class 类名
{
成员;
......
}
类在命名空间下面写,类中可以包含变量的定义、方法。
例子:
<pre name="code" class="csharp">public class Person
{
//字段
private string _name;
private char _gender;
private int _age;
public void SayHello()
{
Console.WriteLine("hello,大家好,我是小明");
}
public void Walk()
{
Console.WriteLine("我走着走");
}
}
三、类的实例化:
语法:
类 实例名 = new 类 ();
类的成员的访问:
实例名.属性 实例名.方法名();
字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。
访问修饰符:public private (internal protected)
例如:
static void Main(string[] args)四、构造函数:
{
Person per = new Person();
per._name="张三";
per._age=18;
per._gender='男';
per.SayHello();
per.Walk();
Console.WriteLine(per._name);
Console.ReadKey();
}
构造方法用来创建对象,并且可以在构造函数中对对象进行初始化。
构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。
构造函数可以有参数,new对象的时候传递函数参数即可。
如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
构造函数可以重载,也就是有多个参数不同的构造函数。
例子:
class Program
{
static void Main(string[] args)
{
Person per = new Person();
//写一个类,如果没有写任何的构造函数,那么这个类有个默认的无参数的构造函数。
}
}
//定义Person类:public class Person{ public Person(string name, char gender, int age) { this._name = name;//指示代词 this._gender = gender; this._age = age; } public Person(string name) { this._name = name; } //构造函数的重载 public Person() { }}
class Program{ static void Main(string[] args) { Person per = new Person("张三", '男', 18); Person p = new Person("张三"); Person p1=new Person(); }}面试题:
简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。类中字段和方法默认的访问修饰符是private 。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。