面向对象的主要概念有一下四点:
(1)抽象:以一种从一般观点来看待事物的方法,集中于事物的本质特征,而非具体细节。
(2)封装:把数据与对数据进行的操作捆绑在一起,成为一个类型对象
(3)继承:使派生类可以获得已定义基类的全部特征,增强了代码可重用性,提高了开发效率。
(4)多态性:相同的函数为不同的对象所接收时,可导致完全不同的行为。
类是面向对象开发方法的基础部分。类是具有相同属性和行为的一组对象的集合。
类是一种数据结构,可能包含成员,数据成员,函数成员。
类的标准声明格式如下:
【属性】【类修饰符】class 类名【:基类名称和任何实现接口的列表】
{
类体
}
类的简单声明:
【类修饰符】 class 类名
{
类体
}
using system;
class point //定义类,
{
public int x; //共有成员字段
public int y; //共有成员
}
class app
{
public static void Main()
{
point start=new point(); //类的实例化——创建类的对象
point ent =new point();
start.x=1; //给对象赋值
start.y=2;
end.x=3;
end.y=4;
Console.WriteLine("Point1:{0},{1}",start.x,start.y);
Console.WriteLine("Point2:{0},{1}",end.x,end.y);
}
}
C#中类修饰符:
new: 仅允许在嵌套类声明中使用,表示所修饰的类会把继承下来的同名成员隐藏起来
abstract:抽象类,不能有类的实例,只能用作其他类的基类
sealed: 密封类,不允许被继承
protected:只能从所在类和所在类派生的子类进行访问
internal :只能被本项目中的类使用;
private: 只能在当前类中使用
基类:每个类只能有且只有一个基类,object是所有 类的基类。
抽象类:
(1)类声明中修饰符为abstract的类为抽象类。
(2)抽象类一般作为父类被用于继承,而不能进行对象实例化
(3)含有抽象方法的一定是抽象类,但抽象类中也可以含有其他方法
(4)abstract和sealed不能同时使用
(5)抽象类的子类中必须实现抽象类中所有的抽象方法
(6)在方法和属性声明中使用abstract修饰符,表示方法或属性不包含实现
(7)实现抽象方法和抽象属性时,必须使用override关键字
abstract class Animal //创建抽象类,访问修饰符为:abstract
{
public absract void Eat(); //创建抽象方法,只能定义不能实现
}
class Dog:Animal //dog类继承自Animal类并实现Animal的抽象方法eat(),
{
public overrid void Eat() //实现基类的抽象方法,使用override关键字
{
Console.WriteLinet("Dog's eat()");
}
}
class Test
{
static void Main()
{
Dog d1=new Dog(); //创建Dog类的对象d1
d1.Eat(); //调用方法
}
}