【原生js】js面向对象三大特征之多态笔记 (

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6
 7 </head>
 8 <script>
 9 /*多态的基本概念:一个引用类型(变量)在不同情况下的多种状态。
10 js本身是无态的,天生就支持多态。*/
11
12 //Master类
13 function Master(name){
14     this.name=name;
15     //方法[给动物喂食物]
16 }
17 //原型法添加成员函数
18 Master.prototype.feed=function(animal,food){
19     window.alert("给"+animal.name+"喂"+food.name);
20 }
21 //食物类
22 function Food(name){
23     this.name=name;
24 }
25 //鱼
26 function Fish(name){
27     this.food=Food;
28     this.food(name);
29 }
30 //骨头
31 function Bone(name){
32     this.food=Food;
33     this.food(name);
34 }
35
36
37 //动物类
38 function Animal(name){
39     this.name=name;
40 }
41 //猫猫
42 function Cat(name){
43     this.animal=Animal;
44     this.animal(name);
45 }
46 //狗狗
47 function Dog(name){
48     this.animal=Animal;
49     this.animal(name);
50 }
51 var cat=new Cat("大花猫");
52 var fish=new Fish("黄花鱼");
53 var dog=new Dog("大花狗");
54 var bone=new Bone("猪骨头");
55 //创建一个主人
56 var master=new Master();
57 master.feed(cat,fish);
58 master.feed(dog,bone);
59
60 </script>
61 </html>
62 </script>
63 </body>
64 </html>

多态有利于代码的维护和扩展,这里我们可以考虑,如果食物加入桃子,动物加入猴子,可以看到Master的feed函数不需要变化。

多态用途在于做面向对象开发时,需要有一个方法不变,但是它接收的参数类型是变化的,就可以使用多态。

时间: 2024-10-12 20:15:20

【原生js】js面向对象三大特征之多态笔记 (的相关文章

面向对象三大特征之多态

面向对象的三大特征:封装.继承.多态.今天重点来看一下"多态". 封装 指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法.将属性或方法进行封装,防止外部程序随机访问,加强代码的安全性. 继承 子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 子类继承父类,使用extends关键字. 子类可以访问父类那些属性和方法? private 本类       默认省略(default) 本类 同包     prote

【原生js】js面向对象三大特征之继承笔记

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 7 </head> 8 <script> 9 //中学生 10 function MidStu(name,age){ 11 this.name=name; 12 this.ag

【原生js】js面向对象三大特征之封装笔记

所谓封装,就是把抽象出的属性和对属性的操作写到类的定义中,称为封装. js中实现封装主要有两种封装(公开,私有) function Person(name,sal){ this.name=name; //公开 var sal=sal;//私有 this.showInfo=function(){ //公开 window.alert(this.name+” ”+sal); } showInfo2(){ //把函数私有化. window.alert(“你好”+this.name+” ”+sal) }

【华为云技术分享】Python 面向对象三大特征之多态

[摘要] 面向对象的三大特性多态相关知识. 多态 1.多态 多态指的是一类事物有多种形态 动物有多种形态:人,狗,猪 1 import abc 2 class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 3 @abc.abstractmethod 4 def talk(self): 5 pass 6 7 class People(Animal): #动物的形态之一:人 8 def talk(self): 9 print('say hello') 10 11

面向对象三大特征之多态——Java笔记(七)

多态: 同一个实体同时具有多种形式 编译时的类型有声明该变量时使用的类型决定,运行时的类型有实际赋值给变量的对象决定 如果编译时类型和运行时类型不同,就出现多态 例: 1 class Preson{ 2 } 3 class Teacher extends Preson{ 4 } 5 6 public class Demo { 7 public static void main(String args[]){ 8 //这行代码就会产生多态 9 Preson p = new Teacher(): 1

c++面向对象三大特征封装、继承和多态知识总结

面向对象三大特征:封装,继承,多态: 一.封装:该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现:作用是便于分工和分模块,防止不必要的扩展: 二.继承:就是一种传承,可以把父类型中的数据传承到子类中,子类除了传承了父类的数据之外,还可以对父类型进行扩展: 公开继承  public 保护继承  protected 私有继承  private 保护成员:在子类和本类中可以访问,其他不行: 1.公开继承:在公开继承下,父类型中的数据是公开的到子类型中权限是公开的:父类型中保

类与对象 面向对象和面向过程对比 面向对象三大特征:封装 继承 多态

 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门 面向对象:大象, 你进冰箱. 此时主语是大象. 我操纵的是大象. 此时的大象就是对象 1. 面向过程: 一切以事物的流程为核心. 核心是"过程"二字, 过程是指解决问题的步骤, 即, 先?干什么, 后干什么. 基于该思想编写程序就好比在编写一套流水线. 是一种机械 式的编程

(一)Python入门-6面向对象编程:07面向对象三大特征(封装、继承、多态)-继承

一:面向对象三大特征介绍 Python是面向对象的语言,也支持面向对象编程的三大特性:继承.封装(隐藏).多态. 封装(隐藏) 隐藏对象的属性和实现细节,只对外提供必要的方法.相当于将“细节封装起来”,只 对外暴露“相关调用方法”. 通过前面学习的“私有属性.私有方法”的方式,实现“封装”.Python 追求简洁的语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现. 继承 继承可以让子类具有父类的特性,提高了代码的重用性. 从设计上是一种增量进化,原有父类设计不变的情况下,可以

PHP面向对象三大特征

<?php//PHP 面向对象三大特征 封装 继承 多态 <抽象> //封装 /** * @author bin * *//* class Person{ //encapsulate private $name; private $age; //这个就好比我们Java中的get set 想spring注入的 通过通过set方法 通过构造函数 一样 public function __set($columnName,$value){ $this->columnName = $valu