面向对象继承

2017-10-12  本文已影响0人  ADMIN_drict

一、继承是面向对象重要的特征。继承是指在一个类基础上定义一个新类,原有的类叫做父类,新生成的类叫子类,继承的过程是一个从一般多特殊的过程。
二、继承概念的实现方式有三类:实现继承、接口继承和可视继承。
1、实现继承是指使用基类的属性和方法而无需额外编码的能力;
2、接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
3、可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

三、继承的特点:
第一、子类拥有父类的属性和方法;
第二、子类可以有自己新的属性和方法;
第三、子类可以重写父类的方法;
第四、可以声明父类,创建子类。

四、面向对象中使用继承的好处:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确描述共性的方法,对象的一个新类可以从现有的类中的派出,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

五、与继承有关的注意事项:
继承是单方向的,即派生类可以继承和访问基类中的成员,但基类无法访问派生类的成员。
代码如下:

<style>
        div {
            width: 100px;
            height: 100px;
            background: red;
            position: absolute;
        }

        #box2 {
            background: green;
        }

        #box3 {
            background: blue;
        }
    </style>
  
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>

    <script src="DragBox.js"></script>
<script>
function DragBoxText(boxId) {
            // 继承 DragBox 的属性
            DragBox.call(this, boxId);
        }
        // 继承 DragBox 的方法
        DragBoxText.prototype = new DragBox();

        //  修改了父亲了的方法
        DragBoxText.prototype.move = function(x, y) {
            
            DragBox.prototype.move.call(this, x, y)

            this.ele.innerHTML = x + ", " + y;
        }
        // 让 box1 具备拖拽的能力
        new DragBoxText("box1");
        new DragBoxText("box2");
        new DragBoxText("box3");
</script>
上一篇下一篇

猜你喜欢

热点阅读