面向对象的基本概念 面向对象的编程语言 余国荔 js面向对象编程
程序员文章站
2022-06-11 17:03:50
...
面向对象包括3部分:面向对象分析(Object Oriented Analysis,OOA)、面向对象设计(Object Oriented Design,OOD)、以及面向对象编程(Object Oriented Programming,OOP)。面向对象编程的两个重要概念是类和对象。
类
类是变量与作用这些变量的方法集合,事物都具有其自身的属性和方法,通过这些属性和方法可以将不同的物质区分开来。例如:人具有身高、体重、胖瘦以及肤色等属性,还可以进行吃饭、学习、走路等能动性的活动,这些活动可以说是人具有的功能。可以把人看做程序中的一个类,那么人的身高可以比作类中的属性,走路可以比作类中的方法。也就是说,类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效的管理。
对象
类是具备某项功能的抽象模型,实际应用中还需要对类进行实例化,这样就可以引入对象的概念。对象是类进行实例化后的产物,是一个实体。仍然以人为例,”黄种人是人”这句话没有错,但反过来说”人是黄种人”,这句话一定是错误的。因为人除了黄种人还有黑种人,白种人等。那么”黄种人”就是”人”这个类的一个实例对象。可以这样理解对象和类的关系:对象实际上就是有血有肉的,能摸得到看的着的一个类。
面向对象编程的三大特点
面向对象编程具有封装性、继承性和多态性三大特点。封装可以有效地避免程序设计时代码耦合,继承可以有效地利用代码资源,多态性可以有效地提高代码的重用性。
封装性:
封装性也可以成为信息隐藏,就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只需要知道这个类如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更好地把精力集中起来专注于别的事情,同时也避免了程序之间的相互依赖而带来的不便。
继承性:
继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。继承这个特性简化了对象和类的创建,增加的代码的可重用性。继承分为单继承和多继承,PHP目前只支持单继承,也就是说,一个子类有且只有一个父类。
多态性:
多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术成为多态性。多态性增强了软件的灵活性和重用性。
纯手打,如有不到之处,望多多指正。').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
类是变量与作用这些变量的方法集合,事物都具有其自身的属性和方法,通过这些属性和方法可以将不同的物质区分开来。例如:人具有身高、体重、胖瘦以及肤色等属性,还可以进行吃饭、学习、走路等能动性的活动,这些活动可以说是人具有的功能。可以把人看做程序中的一个类,那么人的身高可以比作类中的属性,走路可以比作类中的方法。也就是说,类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效的管理。
类是具备某项功能的抽象模型,实际应用中还需要对类进行实例化,这样就可以引入对象的概念。对象是类进行实例化后的产物,是一个实体。仍然以人为例,”黄种人是人”这句话没有错,但反过来说”人是黄种人”,这句话一定是错误的。因为人除了黄种人还有黑种人,白种人等。那么”黄种人”就是”人”这个类的一个实例对象。可以这样理解对象和类的关系:对象实际上就是有血有肉的,能摸得到看的着的一个类。
面向对象编程具有封装性、继承性和多态性三大特点。封装可以有效地避免程序设计时代码耦合,继承可以有效地利用代码资源,多态性可以有效地提高代码的重用性。
封装性:
封装性也可以成为信息隐藏,就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只需要知道这个类如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更好地把精力集中起来专注于别的事情,同时也避免了程序之间的相互依赖而带来的不便。
继承性:
继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。继承这个特性简化了对象和类的创建,增加的代码的可重用性。继承分为单继承和多继承,PHP目前只支持单继承,也就是说,一个子类有且只有一个父类。
多态性:
多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术成为多态性。多态性增强了软件的灵活性和重用性。
纯手打,如有不到之处,望多多指正。').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了面向对象的基本概念,包括了面向对象方面的内容,希望对PHP教程有兴趣的朋友有所帮助。