Class与Type的区别与联系

web:ts中class、interface、type的区别 TypeScript中class、interface和type的区别:class既是值的模板也是类型模板,会生成JS代码,可用于实例化和类型注解;interface是纯类型定义,用于描述对象形状,支持继承和声明合并;type也是纯类型,主要用于定义复杂类型(联合、交叉等),功能更灵活但不可合并。选择依据:需要实例化用class,描述对象用interface优先,定义复杂类型用type。 阅读详情

今天上"软件方法学", 许满武老师提问:
        " 类与类型有什么区别? "
众座的回答皆不能令许老师满意.

下课后GOOGLE了一篇文章, 是在某人的blog里头的.
文章结尾署名为
        徐家福
居然是徐先生写的. 为表敬仰之情, 现抄录如下

类和类型

1:  类型的概念

概念:类型刻划了一组值及其上可施行的操作,可理解为值集和操作集构成的二元组。

类型的概念与值的概念相对立,前者是程序中的概念,后者则是程序运行时的概念,两者通过标识值的语言成分(例如,变量、表达式等)联系起来。

比如变量v说明为具有类型T,类型T所刻划的值集为{v1,v2,…vn,…},则变量v运行时能取且只能取某个vi为值。由此可见,类型规定了具有该类型的变量或表达式的取值范围。

2:  类与类型

A:      共性

在对象式语言中,“值”为对象(或对象指引,但本质上仍为对象)。所以,对象式语言中的类型刻划了一组对象及其上可施行的操作。类型所刻划的对象称为类型的实例。类也刻划了一组对象。

两者的共性在于二者均刻划了一组对象及其上的操作(在前面关于类的讨论中,并未强调类刻划对象上的操作这一事实),所以,既可以说对象是类型的实例,也可以说对象是类的实例,类型和类在与对象的关系上是相同的。不过,类型欲刻划一组对象及其上的操作,必须借助于类,因为类是达到这种目的的唯一设施。由此可见,类型是以类为基础的,是通过类来定义的,这体现了二者的联系。

B:     区别

l       作用不同

类是程序的构造单位,是描述一组对象及其上操作的唯一语言成分,故其作用主要是具体描述这组对象,提供运行时创建这些对象的“模板”。例如,基于类间的继承关系的派生类定义设施就反映了类在描述对象方面的作用。

类型则是标志变量或表达式取值范围的一种语言成分,其作用主要是对这些变量或表达式运行时的取值进行约束。例如,对赋值语句左部的变量和右部的表达式的类型匹配检查就反映了类型的约束作用。

l       与对象联系的紧密程序不同

类描述对象的具体形式和其上可施行的具体操作,且强调所描述的一组对象的共性,因而,与具体对象联系较密切,而与对象集的大小则联系较少。

类型强调所描述的一组对象的范围和可施行操作的范围,与对象集的大小联系较密切,而与其中具体对象则联系较少。

l       并不是所有类都可直接作为类型使用

类是类型的基础,类型靠类来定义,有些类可直接作为类型来使用,在这种意义下,我们也可称这些类是类型。

但是,也有一些类不能直接作为类型来使用,这是因为,从类型的约束作用来看,类型强调所刻划的对象的确定性,即对象范围的确定性。因此,只有所描述的对象的范围确定的类才可直接用作类型。

我觉得大家都应该静下心来,仔细的读一读这篇文章。原作:徐家福

AI 与新媒体 AI重构新媒体生态:从生产到分发的全链路变革 AI正成为新媒体领域的核心基础设施,通过五大能力重塑内容产业:自动化生产(AIGC写作/制图/剪辑效率提升5-10倍)、智能分发(算法精准匹配用户)、数据洞察(实时舆情分析)、风险管控(审核效率提升12倍)和运营优化(A/B测试自动化)。这推动行业从"人找内容"转向"内容找人",制作成本下降90%的同时,也带来同质化加剧、版权争议和职业重构等挑战。当前阶段,人机协同成为主流——AI处理标准化生产,人类专注创意与价值观把控。 阅读详情

相关推荐

如何构建智能聊天系统

聊天分为听、思考、读,简单的通过ASR、LLM、TTS三类模型的组合可以实现,最近openai推出支持多模态的GPT-4o模型,可以把三个模型真正融合成在一起。现在市面上的模型百花齐放,各有所长。要实现可落地的方案,需要结合业务,验证模型效果,同时也要考虑方案的可行性,有些模型在国内能用,有些在国内不能用。

xsgnzb的专栏 2108

类与类型

对象的类定义了对象是怎样实现的,定义了对象的内部状态和操作的实现 。对象的类型只与它的接口有关,接口即对象能响应的请求的集合。一个对象可以有多个类型,不同类的对象可以有需相同的类型。类定义了对象的操作,也定义了对象的类型

xiaofengw的专栏 694

Mac Pro M2芯片成功安装麒麟银河高级服务器虚拟机

本人用的是1、Macbook m2pro芯片 16G+5123、安装homebrew、wegt、qemu。

vagatable_XX的博客 3297

类和类型

1: 类型的概念 概念:类型刻划了一组值及其上可施行的操作,可理解为值集和操作集构成的二元组。 类型的概念与值的概念相对立,前者是程序中的概念,后者则是程序运行时的概念,两者通过标识值的语言成分(例如,变量、表达式等)联系起来。 比如变量v说明为具有类型T,类型T所刻划的值集为{v1,v2,…vn,…},则变量v运行时能取且只能取某个vi为值。由此可见,类型规定了具有该类型的变量...

akka80600的博客 533

基于GEC6818开发板+Linux+Qt设计的智能养老院出入管理系统(195)

当前,传统的养老院出入管理模式普遍存在信息更新滞后、数据统计繁琐、实时监控能力不足等问题,难以满足现代养老机构对安全管理与服务质量提升的需求。本系统设计正是针对这些问题,通过集成先进的硬件设备如高性能GEC6818开发板以及RFID刷卡模块,结合稳定高效的嵌入式Linux操作系统和QT开发框架,构建一套功能齐全、操作直观、响应迅速的智能出入管理系统。 该系统能自动记录并实时显示老人的进出时间,方便管理人员及时了解每位老人的活动轨迹,同时具备强大的后台管理功能,支持管理员便捷地进行老人信息的增删改查操作。通

1069

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

类型和类的区别

基本类型:在一门语言中,以语法的形式规定下来的.具有某种数据结构和相应特定操作的一个集合.一般会赋予其一个关键字.该关键字在珍整个编译环境中具有特殊含义.不能被自定义的类型使用. 类:只要符合面向对象语法规范的集合.满足封装继承多态三大特性.都能称之为类. 在c#中以语法形式定义出了15种基本类型.也就是有十五个关键字.当使用其中一个关键字的时候,即代表着使用了这个类型.然而c#是定义在中间语

编程人生 4536

《open3D+pyqt》点云读取、显示与保存

《open3D+pyqt》第一章:点云读取与显示一、效果展示二、环境配置三、代码3.1 qt designer设置3.2 生成ui,qrc的py文件3.3 py文件代码 一、效果展示 二、环境配置 环境配置:Anconda+pycharm+pyqt+open3d+pyqtgraph 显示界面:这里选择pyqtgraph 参考网上教程 三、代码 3.1 qt designer设置 界面布局参照《PCL+QT》教程,界面设置:布局如下: 布局参数参考: 3.2 生成ui,qrc的py文件 3.3 py

阁楼 7113

Java中的Type接口和Class类区别和联系

Java中的Type接口和Class类有什么区别 Type是Class的父接口。 Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。 这里举个当Type是参数化类型的例子: public class B<T,K> { } package test; public class Book extends B<String,Integer>{ } import t...

我是guyue,guyue就是我O(∩_∩)O 5501

Spring Boot入门(02):【教程】轻松搭建Spring Boot开发环境,启动你的第一个Web项目!

快速搭建开发环境和启动项目是每个开发人员必备的技能。本文将为您提供一些简单易懂的方法和技巧,以帮助您快速搭建开发环境和启动项目。我们将介绍如何选择适合您的开发工具、配置您的操作系统、安装必要的软件包和依赖项,并开始编写您的第一个应用程序。无论您是一位新手还是一位经验丰富的开发人员,本文都会给您提供有用的信息和实用的建议,让您在最短时间内快速搭建和启动开发项目。

**My Coding Family** 22万+

LLaMA Factory多卡微调的实战教程(持续更新)

本文主要介绍了LLaMA Factory多卡微调的实战教程(持续更新),希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 2.3 模型选型与下载 2.4 配置多卡环境 3. 运行代码 3.1 构建训练数据 3.2 修改配置文件 3.3 微调 3.3.1 zero3微调 3.3.2 启动API 3.3.3 模型测试

herosunly的博客 25万+

typescript中的class与interface和type的区别

在 TypeScript 中,type、interface 和 class 分别具有自己的用途和特点。type适用于定义类型别名、联合类型、交叉类型等,并且不需要运行时信息。interface主要用于定义对象的类型和形状,支持继承和实现。class既包含类型信息,也包含实际的属性和方法实现。在实际开发中,我们应根据需求选择合适的类型声明方式。虽然 type 和 interface 在很多场景下可以互换使用,但它们在某些特定场景下有着各自的优势。

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 4768

NVIDIA Isaac Sim 联合 VS Code 开发调试环境配置

在 Visual Studio Code (VS Code) 中打开 Isaac Sim 软件包主文件夹,即可打开该工作区。注意建议在学习教程和示例时使用 Visual Studio Code。另请参见有关 VS Code 工作区的详细信息,请参阅 Visual Studio Code (VS Code) 文档。

2506_90492529的博客 3104

java type与class_Java中的Type接口和Class类有什么区别

Type是Class的父接口。Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。这里举个当Type是参数化类型的例子:public class B{}package test;public class Book extends B{}import test.B;import test.Book;import java.lang.r...

weixin_31589363的博客 266

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

class kind type sort区别

class多用于 级别比如高级货就是 first class,primary class等等,以此类推kind 和sort 基本一样,就像你说的,译为 种类,what kind of疑问,回答时用sort/kind of 则表示“有点点吧”,较为口语化。PS我在国外用了这么久没发现区别···type更为正规点,多表示为 型号很明显的区别了吧··· 转载于:https://www.cnblogs.c...

weixin_30349597的博客 449

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

type接口和class的区别(类型和类)

Class public final class ClassT> implements java.io.Serializable, GenericDeclaration, Type, AnnotatedElement {...} Type public interface Type { default String getTypeName() { ret

ZytheMoon的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Type 和 class 的区别

/** * 类和类型的区别 * */ @Test public void test2(){ System.out.println(Integer.class); System.out.println(OrikaUtil.getType(Integer.class)); } //class java.lang.Integer //Integer

拱卒的博客 5044

Java中Type接口与Class类的区别联系

1.Type定义与说明 源代码: package java.lang.reflect; /** * Type is the common superinterface for all types in the Java * programming language. These include raw types, parameterized types, * array type...

韩超的博客 (hanchao5272) 1万+

jsp 中useBean type与class的区别

以上两种用法,当myBean不为空时,在使用上两者没有什么区别。但是当myBean被设为null后,例如request.setAttribute("myBean",null),两者在使用上就有区别了。使用class="package.MyBean"时不会抛出异常,使用type="package.MyBean"时会抛出异常。原因是当使用class时,首先在当前作用范围内查找是否存在myBean,如果

Caster_Saber的专栏 2809

【PYTHON】python中type、class、object的区别

python中type、class、object的区别 type 一、 type可以用来返回一个对象的类型 例如: 二、 由于Python中一切皆对象,也就是说Python中的任何变量类型都是可以被修改的,这也是Python等动态编程语言的特点。type的基类是object,但是object也是由type生成的,他们之间形成了一个环路,这样设计的目的也就是为了方便对这些数据结构进行...

麦田里的守望者 1555

jsp:useBean中type和class的区别与request的生命周期

jsp:useBean中type和class的区别与request的生命周期 我在写将后台bean传到前台时,出现了问题 description The server encountered an internal error that prevented it from fulfilling this request. javax.servlet.ServletException: java.lang.InstantiationException: bean testBean not found with

weixin_40646509的博客 846

分析模式阅读笔记 P314 : Type 和 Class 的区别

Type 和 Class 的区别 Type描述Class的接口Interface 一个Type可以被多个Class实现,一个Class可以实现多个Type 一个Type可以被不同语言中的Class来实现 位置 : * 书目 分析模式 – 可复用的对象模型 Martin Fowler 人民邮电出版社 * 页码 : P314 ...

Details Inside Spring 707

typescript中使用type,class,interface定义数据结构的区别

typescript中声明一个类型,我们通常会有3种做法,他们都可以去继承: 1.interface interface User { name: string age: number } interface SetUser { (name: string, age: number): void; } interface SetUser extends User { age:...

wang_liuyong的博客 6550

jsp:useBean 中type和class属性的区别

以上的两种写法,当product!=null两者视乎没什么区别,若使用session.setAttribute("product",null);设置后,在访问包含有语句的页面时就会抛出异常(org.apache.jasper.JasperException: bean product not found within scope)。而使用 不会抛异常,这两种写法意义是相同的。...

Alex Zhou 1844
上一篇: Design Patterns Explained (1) - Tranditional Design
下一篇: Debian初体验 2
fat_how
博客等级 码龄26年 0粉丝 21原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值