141014●类(2)、接口

sealed(密封类)

修饰class,代表该类无法被继承。

多态:需要通过继承来实现。

父类的引用,只想不同子类实例的时候,都是子类的成员,因此出现,当指向不同子类对象的时候,其成员的表现也会不同,由此呈现出来的状态,多态。

多态的分类:编译多态(重载);运行多态(重写)。

override

子类对父类方法的重写。父类对应的成员函数必须是virtual,且参数相同。

父类中的成员方法:

public virtual void Eat()

{

}

子类中的成员方法:

public override void Eat()

{

}

VS中    输入override,然后按空格键,之后选择相应函数

抽象方法:

父类中必须具备且无法用具体代码实现的方法。

特点:1、只声明,不实现。2、加abstract关键词

抽象类:

抽象类是不完整的,它只能作为基类,无法被实例化。关键词是batract。

带有抽象方法的类都是抽象类,抽象类不一定包含抽象方法。

特性:

1、抽象类不能实例化。

2、抽象类可以包含抽象方法和抽象访问器。

3、不能用sealed修饰符修饰抽象类,因为两个修饰符的含义是相反的。采用sealed修饰符的类无法继承,而abstract修饰符要求对类进行继承。

4、从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。

5、构造方法、静态成员方法不能声明为抽象方法。

与具体类比较:

1、抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。

2、允许(但不要求)抽象类包含抽象成员。

3、抽象类不能被密封。

接口(interface):极度抽象的类

无成员变量、实例方法、实力属性,只有抽象方法或抽象属性。

接口中的方法,都是抽象的,因此无须加abstract。

接口中的方法,都是共有的,无须加访问修饰符。

一个类可以实现(继承)多个接口。

interface IUSB   //定义抽象类

{

void Strat();

Void Stop();

}

class UDisk:IUSB

{

}

class Computer

{

public void CheckUSB( IUSB usb )

{

usb.Start();

}

public void CheckUSB( IUSB usb )

{

usb.Stop();

}

}

命名空间:对类进行分类管理的工具

程序集:编译出的exe或dll文件就是程序集。

程序集的名字就是编译出来的文件名

时间: 2024-11-06 13:41:48

141014●类(2)、接口的相关文章

JAVA-抽象类和接口的区别总结

首先.抽象类和接口都很好的提供了一种将实现和接口分离的方法.. 一.抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal(),我们都知道这个是产生一个动物Animal对象,但是这个Animal具体长成什么样子我们并不知道,它没有一个具体动物的概念,所以他就是一个抽象类,需要一个具体的动物,如狗.猫来对它进

数据结构-List接口-LinkedList类-Set接口-HashSet类-Collection总结

一.数据结构:4种--<需补充> 1.堆栈结构:     特点:LIFO(后进先出);栈的入口/出口都在顶端位置;压栈就是存元素/弹栈就是取元素;     代表类:Stack;     其它:main方法最后一个出去; 2.数组结构:     特点:一片连续的空间;有索引,查找快;增删慢;     代表类:ArrayList;     应用场景:用于查询多的场景,如天气预报; 3.队列结构:     特点:FIFO(先进先出);入口/出口在两侧;     代表:Queue接口     应用场景

Java语言程序设计 上机实验4 掌握声明接口、一个类实现接口的声明和使用方法

Java语言程序设计 上机实验4 实验目的: 理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口.一个类实现接口的声明和使用方法:熟悉Java语言包和实用包中的常用类. 实验内容:(*)为选做 声明圆柱体类Cylinder,继承椭圆类Ellipse(实现周长Perimeter接口和面积Area接口),为圆柱体类设计较为全面的构造方法,并实现体积Volume接口,计算表面积和体积. 将Java的若干关键字(15个以上)保存在一个字符串数组中,对其按升序排列,再采用顺序查找和二分法查找,判断

【总结】Effective java经验之谈,类与接口

转载请注明出处:http://blog.csdn.NET/supera_li/article/details/44940563 Effective Java系列 1.Effective java经验之谈,创建和销毁对象 2.Effective java经验之谈,泛型 3.Effective java经验之谈,类与接口 4.Effective java经验之谈,通用方法 5.Effective java经验之谈,枚举,注解,方法,通用设计,异常 6.Effective java经验之谈,并发编程

类,抽象基类,接口类三者间的区别与联系(C++)

联系很明显,三个都是‘类’,如果读者对类的概念不清楚,可以参照wid的博文http://www.cnblogs.com/mr-wid/archive/2013/02/18/2916309.html. 下面着重解释一下区别,但此文仅是个人理解,如果觉得我说的不对的地方,还请赐教. (1)结构上的区别: 普通类:数据+方法+实现 抽象类:数据+方法(一定包含虚方法n>=1)+部分方法的实现 接口类:方法(纯虚方法) (2)概念上的区别: 普通的类和另外两个的区别很明显,普通类就是猫狗之类的,而抽象类

ledisdb:支持类redis接口的嵌入式nosql

前言 java中的反射的底层实现是,在jvm的Classloader获得全限定名来创建Class. 正文 获得反射类型对象 1.类名.class 不执行静态快 2..Class<?> getClass() Returns the runtime class of this Object. 3.static Class<?> forName(String className) Returns the Class object associated with the class or

类与接口的关系

1. 接口与接口之间可以相互继承: 2. 类与类之间可以相互继承: 3. 类与接口之间,只能是类来实现接口: 4. 继承已经具有父类的方法,子类可以不重写父类方法:类在实现接口的时候,必须重写接口所有的方法. 5. Demo interface Valuable { public double getMoney(); } interface Protectable { public void beProtectable(); } interface A extends Protectable {

类和接口

类和接口 本篇将介绍TypeScript里的类和接口. 与其他强类型语言类似,TypeScript遵循ECMAScript 2015标准,支持class类型,同时也增加支持interface类型. 一.类(class) 下面是一个类的基本定义方式: 1 class User { 2 name: string; 3 constructor(_name: string) { 4 this.name = _name; 5 } 6 7 sayHello(): string { 8 return `Hel

类、接口、实现之间的关系

类可以看成是一个个抽象的对象的宏观描述,例如:人, 类的成员分为字段和方法 程序中的字段对应:人的嘴.有脸 程序中的方法对应:人能干活.说话 程序中的对象对应:张三.李四(是造物者已经实实在在造出的人) 实现类.接口类.调用之间的关系是什么呢?我们可以用我们生活中插座来举例子 程序中的接口对应:三线插座接口.二线插座接口,其中三线插座接口的标准都是一样的,即都有同样的功能:例如:三线插座接口外部有三个孔(字段).能够通电(方法) 程序中的实现对应:不同三线接口的实现可以是不一样的.例如:三个孔的

一步一步搭建开发框架(三)基类基接口

1,AdoNetDal和EfDal都实现IDal这个接口,公共的方法写到接口中,接口中的代码! 1 namespace PCITC.OA.IDal 2 { 3 public interface IUserInforDal 4 { 5 UserInfor Add(UserInfor userInfor); 6 7 bool Update(UserInfor userInfor); 8 9 bool Delete(UserInfor userInfor); 10 11 int Delete(para