继承三大特性之一

1.在派生类中访问基类中的成员或方法一般有以下两种方法:

1).c#通过base.<方法名>()的方式调用基类的方法成员。

2).通过显示类型转换。

2.隐藏基类成员

有的时候同一功能需要重新再派生类里实现新的逻辑,而不想用基类的方法,即隐藏掉父类的成员方法。new修饰符来实现隐藏基类成员。

3.密封类和密封方法是用关键字(sealed)

4.抽象类和抽象方法(abstract)

抽象方法就是为了继承而生的,基类并不具体实现任何执行代码,只是做个定义。子类必须重写基类中的抽象方法是用关键字(override)

5.多重继承是用接口

实现多个接口的相同名称的方法,必须在接口的实现部分注意以下两点;

1).相同名称的方法在实现是,前面不能加public等关键词,每个方法钱必须以相应的接口名。如

void IFace1.Say(){....};

void IFace2.Say(){....};

2).对于不同名称的方法,前面必须冠以"public"表示法。如;

public void Hello()

以上两个规则缺一不可,否则会收到编译错。

namespace ConsoleApplication2
{
    interface IFace1
    {
        void Say();
        void Hello();
    }
    interface IFace2
    {
        void Say();
        void Goodbye();
    }

    class FacetoFace : IFace1, IFace2
    {
        void IFace1.Say()
        {
            Console.WriteLine("这是IFace1的方法");
        }
        public void Hello()
        {
            Console.WriteLine("IFace1的Hello");
        }

        void IFace2.Say()
        {
            Console.WriteLine("这是IFace2的方法");
        }
        public void Goodbye()
        {
            Console.WriteLine("IFace2的Goodbye");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            FacetoFace fs = new FacetoFace();
            ((IFace1)fs).Say();
            ((IFace2)fs).Say();
            fs.Goodbye();
            fs.Hello();
            Console.Read();
        }
    }
}

继承三大特性之一

时间: 2024-10-05 20:56:25

继承三大特性之一的相关文章

oldboy 21th day. I love Python. 面向对象之封装, 多态, 继承 三大特性

一, 主要内容: 接口类:( 只是在工作中, 书写的一种规范.) 抽象类: 用处: 在工作中, 如果你要是规定几个类, 必须有一样的方法, 你要是抽象类. 封装: 1, 将一些属性或者方法 (一些有用的信息) 放置在一个空间中. 2, 私有成员的封装:私有静态变量, 私有属性, 私有方法 特点: 在变量前+__双下划线, 并且在类外面,子类访问私有变量,私有方法 是访问不到的. 因为私有成员,在运行时, 都会变成: _类名__变量名 所以你在类的外部,或者派生类中都不可访问. 有些方法, 变量,

JAVA基础——面向对象三大特性:封装、继承、多态

JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据.     隐藏类的实例细节,方便修改和实现. 3.封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作.当然最好使用get/set方法,比较标准. A.访问修饰符 从表格可以看出从上到下封装性越来越差. B.this关键字 1.this关键字代表当前

【转】java提高篇(二)-----理解java的三大特性之继承

[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大

【转】C#三大特性之 封装、继承、多态

C#三大特性之 封装.继承.多态 一.封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型.  封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改. 封装提供了一个有效的途径来保护数据不被意外的破坏.相比我们将数据(用域来实现)在程序中定义为公用的(public)我们将它们(fie

CSS三大特性(继承、优先级、层叠)之个人见解

首先声明一下CSS三大特性——继承.优先级和层叠.继承即子类元素继承父类的样式,比如font-size,font-weight等f开头的css样式以及text-align,text-indent等t开头的样式以及我们常用的color.简单的就不演示了,强调一下font-size这个东东(虽然也有继承,但是标签不同继承的效果也不一样),比如下面的代码: <!DOCTYPE html> <html lang="en"> <head> <meta c

OC学习篇之---类的三大特性(封装,继承,多态)

之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性: 一.封装 学习过Java中类的同学可能都知道了,封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,Java

java随笔:三大特性之继承

Java三大特性之继承 一.介绍 笔记重点:构造器.protected关键字(这个自行查阅).向上转型.private关键字(继承非常重要的要点)  复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的. 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继

PHP学习笔记之继承(面向对象三大特性之一)

今天学习了面向对象的三大特性之一继承 继承:子类可以继承父类的一切 特点就是单继承: 制造一个父类 //继承:子类可以继承父类的一切//特点:单继承 //父类class Ren{ public $name; public $sex; public $yuyan; function Say() { echo $this->name."正在讲话!"; }} //美国人的子类class America extends Ren{ public $ziben; //子类对父类的方法重写 f

面向对象三大特性之二--【继承】

PHP中,一个类只能有一个父类,所谓继承就是去扩展父类,在设计类的时候,如果有两个或多个类有相同或者共用的部分,就将相同部分提取出来放到一个父类里面. 子类只能继承父类的公共属性和公共方法,如果父类的属性和方法有private修饰封装的话,子类是不能访问的(包括类的内部和外部),当然父类的对象也不能在外部访问,但如果是protected修饰的成员属性和方法,子类的类的内部是可以访问的($this),但子类的对象不能在外部访问. 继承的核心是扩展父类的方法,扩展方法包括两种,一种是添加父类中没有的