程序算法数据,对象在哪儿?
如果你认可程序=算法+数据,那么会发现,对象好像没有存在的必要。先来看看算法
按函数式编程的思路,算法就是把输入转换成输出的过程。
比如常见的各种排序算法,不管过程如何,都是把没有顺序的集合转化成有顺序的集合的过程,描述如下:sort: List -> List再说数据
对于数据,众说纷纭。最离谱的,是把函数当数据,没有数据组织。
下面的例子以js语言描述了这一思想。// create_user是一个构造函数,但返回的不是对象,而是函数。 // 两个参数为:(姓名, 年龄) let user = create_user("张三", 20) // 通过返回函数的调用,获取属性 // 参数为属性名 let name = user("name") let age = user("age")
create_user的实现如下:function create_user(name, age) { // 返回一个取属性值的函数,而非对象 return function(field_name) { if (field_name == "name") { return name } else if (field_name == "age") { return age } } }
再一种,是把数据当一个个独立的集合,数据之间没有任何事先声明的关系。
关系数据库是典型的代表。例如,学生表与学生考试表,是两个完全独立的集合,没有具体关系,所谓外键,只是学生考试表的一个字段而已。学生表与学生考试表,数据举例如下:学生表 考试表 学号 姓名 学号 课程 成绩 001 张三 001 语文 98 002 李四 001 数学 88 002 语文 78
数据是通过sql语句,临时建立的关系。例如,下面的sql语句,通过笛卡尔乘积、筛选把两个表之间的关系建立了起来。select * from 学生表,考试表 where 学生表.学号=考试表.学号
第三种,是各种语言都提供的结构体,把数据组织成相互关联的网状结构。
下面的例子用rust语言描述了这个想法。struct 学生 { name: String, 考试: Vec<考试> } struct 考试 { }
还有其他一些数据组织形式,不再赘述。无结构数据
数据除了以上各种组织形式,还有无组织的,非结构数据。比如:程序源码,程序源码是无组织的数据,这个观点很重要‼ 日志文件,日志文件也是没有被组织的数据。数据传输,被传输的数据,很多都没有结构。还有很多。
对于无结构数据,主要观点是:
当流对待!
其次的观点是:
把流转换成有组织的数据!
最典型的例子,把程序源码转换成AST语法树:编译:string -> Tree对象是啥
上面的描述过程没有对象存在。真正面向对象与数据无关,对象只接收消息,给出反馈。比如,学生对象:let x = 一个学生 // set_name是消息名,方法参数是消息参数 x.set_name("张") // get_name是消息名 x.get_name()
严格来看,对象不存在属性,也没有数据组织,只接收消息,给出反馈。对象自身是有状态的。发同样的消息,给出的反馈可能不同。这样的对象方式,非常难以控制。
2021。09。20数字货币晚讯1。GlassnodeBitcoinThermocap突破303亿美元。2。苹果CEO库克我不用元宇宙这类流行语,我们称之为AR。3。英国股票交易应用Freetrade聘请Revo
iPhone13官方维修定价出炉,摔一次几千块就没有了iPhone13维修价格苹果在发布了iPhone13之后,虽然手机还没发货,但是目前苹果官网已经可以看到中国大陆的维修价格单。虽然iPhone13全系都已经迎来降价,但是维修价格却
马云套现430亿元后,雷军也套现62亿元,这背后意味着什么?在这个充满现实的世界,很多的东西都是有他的独特性,但最独特的还是充满智慧和思想的人类,每个人之间都存在很大的区别,比如有钱人和穷人之间也会相差千里之远。有钱人的榜首一直被轮换,但深
今日区块链资讯1。9月20日消息,美国监管机构认为稳定币绕过监管漏洞,可能会从以下几个方面监管稳定币,分别为把稳定币指定为系统风险称稳定币为证券视稳定币为货币市场共同基金像监管银行一样监管稳定币
专业KTV音响价格不是越便宜越好GAE音响代表产品CQ2A音箱KTV作为近来兴起的备受都市青年喜爱的娱乐消遣方式,引起了国内众多投资者的关注,而国内KTV行业市场竞争也日趋激烈。众所周知,KTV音响设备是消费者能够在KTV包厢玩得愉快的首要及
21深度丨领益智造透视左手5G右手新能源汽车,不锈钢均热板技术突破能否弯道超车?21世纪经济报道记者张赛男上海报道以苹果产业链标的精密功能件龙头等身份为市场所熟知的领益智造,自2018年开始切入VC热管和均热板领域。鲜为人知的是,仅这一个产品线,领益智造每年就
学校设备维修(三)有一批班级多媒体,共12套,每套包含壁挂一体机希沃触屏70寸电视。已经三年了。今年开学起就不断出现状况。自动关机自动重启。特别严重的,使用不了,实在没办法,只有用台式电脑代替壁挂一
Win10删除开机密码的小技巧Win10删除开机密码的小技巧,电脑删除开机密码的方法,电脑开机密码可以保护我们的隐私安全,但取消就有点复杂了,最近许多小伙伴反映找不到删除开机密码的入口,难道设置了密码就不能删除
今年天猫618催生88VIP代下单业务6月1日,天猫618大促正式进入尾款支付期,用户在支付完成后可收货。记者发现,在闲鱼豆瓣等平台上,出现了不少代下单服务。原来,88VIP可同步领取两张大额红包券,合计可抵扣520元
骚气!iPhone13被曝新配色猛男粉iPhone一直是被关注的数码产品之一,除了其配置,大家更多讨论的是其外观,其中配色经常上热搜,比如去年iPhone12的绿色,蓝色相继被议论,再到前不久出来的紫色,也被讨论。苹果
广汽本田电动化战略再落一子作为广汽本田PHEV战略车型,皓影锐混动e的加入,让皓影成为广汽本田首个涵盖燃油油电混动插电混动三大动力系统的车型品牌,增强了广汽本田在中级SUV的市场分量和竞争实力。继2016年