一.类(class)
1.OOP(Object Oriented Programming)
2.类要以class为开始,后接大括号{ }
3.类包含方法、变量、对象。
4.一个类里,可以有多个对象和多个方法。
二.对象(object)
1.对象是类的一个实例,用来存取和使用类中的方法和变量。
2.创建一个类的对象,例如
class ShanuHouseClass
{
int ...
public ...
static void Main (string [ ] args)
{
ShanuHouseClass objHouseOwner = new ShanuHouseClass();
...
}
三.变量(variable)
1.语法
(private) / public + 变量类型 + 名称
默认情况是private
四.方法(method)
1.语法
private / public / internal / protected / protected internal + 返回值类型 + 方法名(参数列表parameter list)
五.封装
1.封装就是对外部class隐藏成员或变量
封装这个功能是由访问修饰符 (access modifiers) 实现的
2.常用的访问修饰符有
private、public、internal、protected、protected internal
3.public
类和类之间可以互相访问
4.private
只有和private在同一个类中的才可以访问这个private,不在同一个类中的就不可以访问,除非以下两种方法
①在含有private的类中,用一个public的方法去调用这个private变量或private方法,然后在另一个类中调用这个类中的public方法
②在含有private的类中,声明另一个public变量,使用其属性,在另一个class中调用这个public变量
例如
class program
{
static void Main(string[] args)
{
Person person = new Person();
Console.WriteLine(person.GetAge());
Console.ReadLine();
}
}
class Person
{
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
public int GetAge()
{
return age;
}
}
下面例子是不可以调用private
public class baseClass
{
private void privateMethod()
{
Console.WriteLine("private Method");
}
public void publicMethod()
{
Console.WriteLine("This Method Shared");
}
}
public class DerivedClass : baseClass
{
static void Main(string[] args)
{
DerivedClass obj = new DerivedClass();
obj.publicMethod();
//obj.privateMethod(); //This will be error as private method can not be accessed in Derived Class
}
}
5.internal
在同一个程序集(assembly)中可见
程序集即一个project生成的.exe可执行文件和.dll库文件,也就是说,在一个project中可以创建很多namespace,但是只要是在一个project中,那么internal变量就是可见的
6.protected
在自己的class或继承于自己的class的class中可见
7.internal protected
同时具有internal和protected的特性