关于面向对象

早期计算机编程语言都是面向过程的,程序既由数据和算法构成,数据可以构成复杂的数据结构,算法也是由上到下的复杂逻辑控制,这是一种将数据与操作算法分离开的编程思想。这种程序设计思想的重点都是在代码中各个方法的执行上。C语言中提供了结构体来解决数据复杂度问题,可将一部分数据或属性包装起来,定义出一个复杂的数据结构,如Rerson结构体(包括姓名,年龄,身高,体重等一些系列数据)。

#include <stdio.h>
int main() {
	// 定义结构体 Person
	struct Person{
		// 结构体包含的变量
		char *name;
		int age;
		float height;
		float weight;
	};
	// 通过结构体来定义变量
	struct Person person;
	// 操作结构体的成员
	person.name = "小逢";
	person.age = 20;
	person.height = 180;
	person.weight = 58;
	
	return 0;
}

上面的代码是C语言设计中的结构体,但是这种结构只能支持复杂的数据结构,对于每个数据的处理都要单独提供方法,而且这些方法与整体的结构体并没有关系。后来在PHP、C++、Java、Python等语言中,人们对C语言中的结构体进行了升级,引入了一种新的编程思想——面向对象编程,即程序操作都是在操作对象。对象不仅可以定义复杂的数据结构,也可以定义复杂的算法方法。对象将数据和方法封装起来,开发者只需要复杂对象内部的数据和算法,同时对外暴露接口供调用方使用。而调用方也不需要关心实际对象内部的复杂逻辑,只需要调用接口。下面给出了和PHP相同的Person结构的示例,与C语言结构体不同的是加入了算法方法。

class Person:
    def __init__(self,name,age,height,weight):
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight

    def print_person(self):
        print("姓名", self.name)
        print("年龄",self.age)
        print("身高", self.height)
        print("体重",self.weight)

person = Person('小逢', 1, 1.8, 70)
person.print_person()

开发人员发现,这种编程思想更能解决实际问题,程序是对象的集合,并且能够描述具有高度复杂性的各类模型和算法。在现实生活中,人的思考是抽象的,我们会将遇到的事情抽象化,相同或类似的对象可以进一步进行抽象,这时就出现了对象的类型——类。先定义类,然后由类去产检你对象,最后由对象去管理整个程序,就像人思考一样,先抽象,后实际化,最后去执行,面向对象编程的应用逐渐变得广泛起来。

值得注意的是,类的产生是抽象的结果,人们在认识复杂世界时,会将实物或者可以说是对象的一些近似特征抽出来,并且不考虑其中每个个体的细节。面向对象编程就是一种不断抽象数据和不断抽象方法的过程。

面向对象编程在软件执行效率上并没有绝对的优势,主要是一种方便开发者组织管理代码、快速梳理熟悉各个业务领域逻辑的思想方法,它是一种更贴近现实生活的编程设计方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值