java面向对象如何创建对象?

 我来答
云南北大青鸟计算机学校
2022-10-28 · 百度认证:云南嘉荟教育信息咨询官方账号,教育领域创作者
云南北大青鸟计算机学校
%³O솋㻺ѧɁӚ2005ĪցϦ#x0241;17ĪΪԆď؇ѸKʽǧITӢȋţ⎷ď؇䈋Ŷ̈ď֗Ҳ⁋Ǧ#x010F;؇ʌҵѹfӾΪǦ#x010F;ȭȋŷ믻
向TA提问
展开全部

java作为互联网编程中使用范围最广泛的编程语言之一,我们有许多的知识是需要掌握学习的,今天java课程培训机构http://www.kmbdqn.cn/就给大家分析讲解一下java面向对象的编程方法有哪些。



常用的创建对象的模式有以下几种:


一.工厂模式


工厂模式抽象了具体对象的过程,用函数来封装以特ing接口创建对象的细节。


如下:


functioncreateAnimal(name,age){


varo=newObject();


o.name=name;


o.age=age;


o.sayName=function(){


alert(this.name);


}


returno;


}


varcat=createAnimal("cat",12);


vardog=createAnimal("dog",3);


工厂模式虽然解决了创建多个相似兑现过的问题,但是却没有解决对象识别的问题。


二.构造函数模式


构造函数模式可以创建特定类型的对象。


functionAnimal(name,age){


this.name=name;


this.age=age;


this.sayName=function(){


alert(this.name);


}


}


varcat=newAnimal("cat",12);


vardog=newAnimal("dog",3);


可以使用对象的constructor属性或instanceof操作符来标识对象类型。


cat.constructor==Animal//true


catinstanceofAnimal//true


三.原型模式


每个函数都有一个prototype(原型)属性。这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。


使用原型对象的好处是,可以让所有对象实例共享它所包含的属性和方法。


functionAnimal(){}


Animal.prototype.name="animal";


Animal.prototype.age=1;


Animal.prototype.sayName=function(){


alert(this.name);


}


vartest1=newAnimal();


test1.sayName();//"animal"


vartest2=newAnimal();


test2.sayName();//"animal"


alert(test1.sayName===test2.sayName);//true


或者:


functionAnimal(){}


Animal.prototype={


constructor:Animal,


name:"animal",


age:1,


sayName:function(){


alert(this.name);


}


};


原型中所有属性是被很多实例共享的,通过在实例上添加一个同名属性,可以隐藏原型中的对应属性。但是,对于包含引用类型值的属性来说,问题就比较明显了。


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式