大家好,抽象类的定义规则相信很多的网友都不是很明白,包括类和抽象类的区别也是一样,不过没有关系,接下来就来为大家分享关于抽象类的定义规则和类和抽象类的区别的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
英语中的物质名词与抽象名词的定义
表示性质、行为、状态或情感等抽象概念的名称。如:anger,freedom,life,knowledge,fun,mind等等,都是抽象名词.
英语名词根据其意义可分为普通名词(CommonNouns)和专有名词(ProperNouns)。普通名词又分为类名词、集体名词、物质名词、抽象名词。
1、类名词:book,table,house
2、集体名词:family,crowd,army
3、物质名词:milk'water'honey
4、抽象名词:honesty,hapiness,love
抽象类为什么不能实例化
抽象类是一种特殊的类,它并没有具体的实现,而是定义了一系列的抽象方法。抽象方法并没有实际的代码实现,因此在创建抽象类的实例时,实例对象无法调用其未定义的抽象方法,因此也就无法实例化抽象类。抽象类的主要作用是为了方便其他类继承和实现。子类可以通过继承抽象类并实现其定义的抽象方法,从而实现抽象类的功能。因此我们可以将抽象类理解为一种可以被其他类继承和实现的蓝本。
因此,在实际开发中,抽象类常常被用来定义一组相关性很高的类的属性和方法,从而简化程序的设计,提高代码的可维护性和复用性。
而实例化抽象类则没有实际意义,也违背了抽象类的设计初衷,因此抽象类不能被实例化。
允许接口中只有一个抽象方法对不对
是正确的接口中方法都为抽象方法。下面给你说一下抽象类和接口的区别:抽象类由abstract关键字来修饰,接口由interface关键字来修饰。抽象类中除了有抽象方法外,也可以有数据成员和非抽象方法;而接口中所有的方法必须都是抽象的,接口中也可以定义数据成员,但必须是常量。
抽象与概括和系统化与具体化
(一)思维的过程
思维的过程包括分析与综合、比较与分类、抽象与概括、系统化与具体化,其中分析与综合是思维的基本过程,其他过程都是由此派生出来的。
1.分析与综合
分析是指在头脑中把事物或对象分解成各个部分或各个属性。例如,把一棵树分解为根、茎、叶、花等。
综合是在人脑中把事物或对象的个别部分或属性联合为一体。例如,构想把一个人
过去与现在的经历联系起来编成一个短剧。
2.比较与分类
比较是指在人脑中把各种事物或现象加以对比,来确定他们之间的异同点和关系的
思维过程。没有比较就没有鉴别,只有通过比较人们才能区分事物间的异同点、鉴别事物的优劣,才能识别事物,把它归到一定的类别中去。
分类是思想上按照事物的异同,把它们区分为不同种类的思维过程。比较是分类的基础。根据事物的共同点,可以把事物归并为较大的类;根据差异可以把事物划分为较小的类。分类在教学中具有重要作用,这是因为通过分类可使学生掌握的知识更加系统化。
3.抽象与概括
抽象是在人脑中提炼各种对象或想象的共同的、本质的特征,舍弃其个别的、非本质的特征的过程。总结鸽子、老鹰、鸡、鸭等的共同的、本质的特征,即“有羽毛”“是动物”;舍弃那些“会不会飞”“颜色”“大小”等的非本质特征,这就是抽象的过程。
概括是人脑把事物间共同的、本质的特征抽象出来加以综合的过程。例如,人们把那些“有羽毛的动物”统称为鸟类,这是概括的过程。概括有不同的等级或水平,经验概括是初级水平的概括,科学概括是高级水平的概括。
4.系统化与具体化
系统化是指人脑把具有相同本质特征的事物归纳到一定类别系统中去的思维过程。
如把犬科、猫科动物归为哺乳类的过程就是系统化的过程。
具体化是指人脑把经过抽象概括后的一般特征和规律推广到同类的具体事物中去的过程。如用某数学公式解一道具体应用题的过程就是具体化的过程。
简述抽象和概括的区别,其主要区别特点是什么
1、概括的对象是“意思”,抽象的对象是“事物”;2、概括要借助语言,抽象只借助思维;3、概括的产物是“思想”,抽象的产物“概念”。
概括与抽象的区别
1、描述不同
概括指的是从大量资料中整理出少量的核心的东西。例如一篇文章,概括其主要内容。抽象则是和具体相对的,例如,这是一只鸟,是具体,这只鸟很有神韵,这是抽象。2、过程不同
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。要抽象,就必须进行比较,没有比较就无法找到共同的部分。
3、特征不同
抽象的过程也是一个裁剪的过程,不同的、非本质性的特征全部裁剪掉了。共同特征是指那些能把一类事物与他类事物区分开来的特征,这些具有区分作用的特征又称本质特征。因此抽取事物的共同特征就是抽取事物的本质特征,舍弃不同特征。
为什么要说学计算机首先要学会抽象
编程高手必备的思维模式:为什么抽象在计算机科学中如此重要
Allproblemsincomputersciencecanbesolvedbyanotherlevelofindirection.
没有抽象的世界
想象这样一种场景,如果我们的语言中没有代词这种形式,那么我们想表达“张三是个好人“该怎么说呢?可能是这样的:
”你还记得我说过的人吧,穿着邋邋遢遢的,公司在中关村,整天背着个双肩包,写代码的,天天996,这个人是个好人“,看到了吧,在没有代词的情况下我们想表达一件事是非常困难的,因为我们需要具体的描述清楚所有细节,但是有了”张三“这种抽象后,一切都简单了,我们只需要针对张三这种抽象进行交流,再也不需要针对一堆细节进行交流了,抽象大大增强了表现力,这就是抽象的力量。
接下来回到计算机世界。
计算机使用层面
我们在使用计算机时其实抽象就在发挥作用,在Word中编辑文档时我们不会去考虑CPU是如何处理这些字符的,这些字符是如何被保存到磁盘的。在浏览网页时我们不需要关心网页中的数据是如何在网络中传输的、浏览器是怎样把这些数据适当的渲染出来的,我们需要做的仅仅就是在Word中简单的输入字符,用鼠标或者手指滑动网页。
因此只要在使用计算机,那么抽象就在发挥作用,只不过是我们没有意识到而已,而之所以我们没有意识到是因为抽象工作的太好了。
编程语言层面
程序员也可以从抽象中获得极大好处,因为软件是复杂的,但程序员可以通过抽象来控制复杂度,方法就是抽象。
比如一个好的设计就是对某项功能抽象出一组简单的API,这样其它程序员在使用这个模块时只需要关注这几个简单的API而不是一堆内部实现细节。
不同的编程语言提供了不同的机制来让程序员实现这种抽象。
比如面向对象语言(OOP)的一大优势就是让程序员方便进行抽象,这样类的使用者就无需关心类的实现了,更不用提OOP中的多态、抽象类等,有了这些程序员可以只针对抽象而不是具体实现进行编程,这样的程序会有更好的可扩展性,也能更好的应对需求的变化。
系统设计层面
计算机从本质上将就是在抽象的基础上建立起来的。计算机科学中的一大主题其实就是在不同层面提供抽象表示从而对外屏蔽实现细节。
对于CPU来说,其对外提供的是一堆指令集,程序员只需要使用这些指令就可以指挥CPU工作了,这样就无需从细节上知道CPU是如何取出指令、执行指令的。
在操作系统层面,我们将I/O设备抽象成了文件、把程序的运行抽象成了进程、把程序运行时占用的内存抽象成了虚拟内存、又把进程和进程运行以来的环境抽象成了容器、最后把所有的一切包括操作系统、进程、CPU、内存、磁盘、网络抽象成了虚拟机。现在虚拟机技术是云计算的基石,实际上这种技术在上世纪60年代就出现了,并在当前火热的云计算中大放异彩。
难怪计算机科学中有一句名言,“计算机科学中没有什么是不能通过增加一层抽象解决的”,当然后面还有半句,“除了存在太多抽象层这个问题”。
总结
抽象的目的其实就是通过移除不必要的信息从而减少复杂度,因此抽象可以让我们更加关注重点。
在这里没有用太多编程语言中的示例来讲解,其实这也是一种抽象,那就是学习编程也好其它领域也罢,最好理解“顶层原理”,这个是通用的。个人一直有这样一种观点,那就是学计算机不是学一堆语言语法,那不过就是一些文法规则的实现细节罢了,编程高手之所以是高手不在于比别人有多了解一门编程语言有什么用法,最重要的还是这所说的“顶层原理”,那么顶层原理在哪里呢?就存在于我们常说的基础中:操作系统、编译原理、网络、数据结构算法等。
文章分享结束,抽象类的定义规则和类和抽象类的区别的答案你都知道了吗?欢迎再次光临本站哦!