js对象的封装,继承,多态的理解

潮哥      2022-02-14     301

关键词:

//对象的继承,这里采用构造函数继承+类式继承
function Person(name,sex,age){
	this.name = name;
	this.sex = sex;
	this.age = age;
}

Person.prototype.getName = function(){
	return this.name;
}

function Student(school,name,sex,age){
	Person.call(this,name,sex,age);//构造函数继承,保证实例之间不会互相影响
	this.school = school;
}

Student.prototype = new Person();//类式继承,解决构造函数继承不能继承定义在外面的原型链的方法

var student1 = new Student("西都小学1","1","男1",21);
var student2 = new Student("西都小学2","2","男2",22);

console.log(student1.getName());//1
student1.name = "修改";
console.log(student1.name);//修改
console.log(student2.name);//2

//多态就是构造函数根据传入的变量不同,对同一方法,有不同的返回结果
//比如
function Math(){
	function zero(){
		return 10;
	}
	function one(num){
		return 10+num;
	}
	this.add = function(){
		switch(arguments.length){
			case 0:
				return zero();
				break;
			case 1:
				return one(arguments[0]);
				break;
		}
	}
}
var math1 = new	Math();
console.log(math1.add());//10
console.log(math1.add(10));//20

//封装就是有些私有的属性和方法,用户只能通过公有方法去访问这些私有属性
function Company(name){
	var personNum = 0;
	this.name = name;
	this.getNum = function(){
		return personNum;
	}
	this.addNum = function(){
		personNum++;
	}
}
var company1 = new Company("保时捷");
var company2 = new Company("宝马");
console.log(company1.getNum());//0
company1.addNum();
console.log(company1.getNum());//1
console.log(company2.getNum());//0
console.log(company1.personNum);//undefined

当然对象的继承不仅仅只有这种,但我觉得这是比较好的一种选择,ES6的class语法让我们更容易去实现面向对象编程。

php面向对象三大特点学习(充分理解抽象封装继承多态)

PHP面向对象三大特点学习学习目标:充分理解抽象、封装、继承、多态 面象对向的三大特点:封装性、继承性、多态性首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出... 查看详情

三大特性:封装,继承,多态

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态所谓封装: 也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信... 查看详情

java中的继承封装多态的理解

Java中的继承、封装、多态继承的理解:1、继承是面向对象的三大特征之一,也是实现代码复用的重要手段。Java的继承具有单继承的特点,每个子类只有一个直接父类。2、Java的继承通过extends关键字来实现,实现继承的类被称为... 查看详情

面向对象编程的三个特性理解

面向对象编程的三大特性是封装、继承、多态。封装:是指对象把自己的数据和对数据的操作封装在了一起;继承:是指子类对父类的继承,子类把父类的数据和对数据的操作继承了过来,同时又增添了自己的数据和对数据的操... 查看详情

举例说明java面向对象的封装继承多态

继承就是在面向对象中体现的是is-a的关系,是一个,封装就是写一个类了,多态则体现的是一个行为的多样性参考技术A面向对象编程的三大特性:封装、继承、多态,把对象封装成类,有共同部分的类可以抽象出相同部分封装成... 查看详情

面向对象的三大特征,封装继承多态的个人理解以及代码分析(代码片段)

...解每个每个房屋的出租信息,不然是找不到房子的。面向对象:对象帮我们做事情,找到对应的对象我们就可以得到想要的结果。      例如:我们找房子不在如此的繁琐,只要找到中 查看详情

java多态性理解

Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做... 查看详情

java多态性理解

Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做... 查看详情

对java面向对象中多态的理解

理解的要点:多态意味着父亲的变量可以指向子类对象 面向对象程序设计的三大支柱是封装、继承和多态封装对外把相应的属性和方法实现的细节进行了隐藏。继承关系使一个子类继承父亲的特征,并且加上了一些新的特征... 查看详情

对java中多态的理解

Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做... 查看详情

java学习笔记-多态

...确,欢迎大家批评指正。 1.什么是多态  面向对象的三大特性:封装,继承,多态。从某种程度来说,多态是建立在封装和继承的继承之上的。  多态性可以理解为同一个事物的多种表现形态。    1)方法... 查看详情

js面向对象三大特征:封装、继承、多态

参考技术A把事物(属性和方法)封装在类(程序对象)中,隐藏事物的属性和方法的实现细节,仅对外公开接口。1.构造函数模式2.原型prototype封装3.声明函数模式4.工厂模式5.闭包一个对象可以使用另一个对象的属性和方法(子... 查看详情

面试总结之谈谈你对面向对象的理解

对面向对象的理解在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中... 查看详情

0面向对象三大机制封装继承多态

3行李货物再按一1再按3各种面向对象编程语言相互有别,但都能看到他们对面向对象三大机制的支持,即:”封装、继承、多态“  -封装,隐藏内部实现  -继承,复用现有代码  -多态,改写对象行为  继承是以... 查看详情

谈谈多态

 概述我们都知道面向对象有四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。多态,是Java中非常重要的一个部分,所以今... 查看详情

关于类的理解

1.什么是类  具有相同特征和和行为的对象集合,一种抽象的概念。类是构造对象的模板或蓝图。  类有三大特性:封装、继承、多态。  封装:     将数据和行为组合到类中的过程,就被成为封装,有时也称数据隐... 查看详情

前端javascript设计模式前奏--面向对象-封装继承多态(代码片段)

JavaScript面向对象如图所示:1.什么是面向对象1.面向对象的概念2.面向对象的三要素:继承/封装/多态⭐️3.JS的应用举例4.面相对象的意义---数据结构化2.面向对象的概念:类+对象1.面向对象的概念:类+对象1.类(模板)/对象(实例)1.... 查看详情

oc的封装继承和多态

...就是定义类型和实际类型,定义类型可以放入不同的实际对象来进行操作,实际的例子就是Tableview代理.一个主控制器里面,你可以添加多个tableview,在代理方法里面 查看详情