C#核心知识回顾——5.结构体和类区别、抽象类和接口、核心知识图解

news/2024/11/23 23:08:33/

1.结构体和类区别

        结构体和类最大的区别是在存储空间上的,因为结构体是值,类是引用,因此他们的存储位置一个在栈上,一个在堆上。

        结构体和类在使用上很类似,结构体甚至可以用面向对象的思想来形容一类对象。
        结构体具备着面向对象思想中封装的特性,但是它不具备继承和多态的特性,因此大大减少了它的使用频率,由于结构体不具备继承的特性,所以它不能够使用protected保护访问修饰符。

1.结构体是值类型,类是引用类型
2.结构体存在栈中,类存在堆中
3.结构体成员不能使用protected访问修饰符,而类可以
4.结构体成员变量申明不能指定初始值,而类可以
5.结构体不能申明无参的构造函数,而类可以
6.结构体申明有参构造函数后,无参构造不会被顶掉
7.结构体不能申明析构函数,而类可以
8.结构体不能被继承,而类可以
9.结构体需要在构造函数中初始化所有成员变量,而类随意
10.结构体不能被静态static修饰(不存在静态结构体),而类可以
11.结构体不能在自己内部申明和自已一样的结构体变量,而类可以

如何选择结构体和类:
1.想要用继承和多态时,直接淘汰结构体,比如玩家、怪物等等
2.对象是数据集合时,优先考虑结构体,比如位置、坐标等等
3.从值类型和引用类型赋值时的区别上去考虑,比如经常被赋值传递的对象,并且改变赋值对象,     原对象不想跟着变化时,就用结构体。比如坐标、向量、旋转等等
 

2.抽象类和接口

相同点:
1都可以被继承
2.都不能直接实例化
3.都可以包含方法申明
4.子类必须实现未实现的方法
5.都遵循里氏替换原则

区别:
1.抽象类中可以有构造函数;接口中不能
2.抽象类只能被单一继承;接口可以被继承多个
3.抽象类中可以有成员变量;接口中不能
4.抽象类中可以申明成员方法,虚方法,抽象方法,静态方法;接口中只能申明没有实现的抽象方     法
5.抽象类方法可以使用访问修饰符;接口中建议不写默认默认public

如何选择抽象类和接口:
表示对象的用抽象类,表示行为拓展的用接口
不同对象拥有的共同行为,我们往往可以使用接口来实现

举个例子:
动物是一类对象,我们自然会选择抽象类;而飞翔是一个行为,我们自然会选择接口。


http://www.ppmy.cn/news/676003.html

相关文章

html中好看的按钮,html 好看按钮

html 好看按钮 内容精选 换一换 方式二:进入App视图,在左侧菜单栏下方单击。 方式三:直接浏览器中输入“https://AppCube域名/studio/console.html”,进入控制台页面进行数据调试。 图1 调试界面 界面介绍如下: 最上面区域1:是该控制台支持的所有操作,包括对象管理(关于…

iphone6出信号 无服务器,苹果6手机无服务(非常见故障点)维修

客户的一台iphone6,插移动SIM卡手机无服务,偶尔能跳出信号,但是也只有2G信号,上电漏电76mA,触发待机漏电约200mA。 顾客说晚上充电,早上起来就发现手机无服务,偶尔才能跳出信号,也没4G信号。像这种手机无服务的机子都是射频线路上的某些元件缺少供电、损坏或者射频信号…

基于PHP+小程序(MINA框架)+Mysql数据库的汽车维修保养小程序系统设计与实现

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信汽车维修保养小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PPMySql的B/S架构,开发工具使用phpstorm;通过后…

pcb外观维修_5种最常见的PCB维修

印刷电路板是大多数电子产品的基础。仅到2018年底,全球产品的销售产值就有望达到820亿美元。这应该使您对制造中使用PCB的频率有一些了解。 没有它们,许多设备将完全无法正常运行。如果出现重大故障或故障,可能会导致一些非常严重的问题。电路板也不是无懈可击的。随着时间的…

计算机维修宣传稿,电脑义务维修活动策划书

电脑义务维修活动策划书 2020-06-15 活动策划 【手机浏览本页】 一、活动主题:维修遍校园,爱心传万家 二、活动背景: 随着电脑在我学校的普及,同学们的电脑也陆续出现了许多故障问题,电脑出现故障,对同学们的学习与娱乐造成一定程度上的影响,经了解,发现大一新生…

手机屏幕按键测试软件,涨见识了——手机居然能作为维修检测工具来用!

原标题:涨见识了——手机居然能作为维修检测工具来用! 现代生活提倡方便快捷,遥控器的使用和普及一定程度上符合了这一要求,生活中比较普遍的是电视机、空调的遥控器,另外就是电动大门以及汽车遥控器,可以说…

安卓手机重启日志_[手机维修自学教程]苹果安卓 手机无线重启故障原因维修技巧...

应粉丝要求,今天跟大家聊聊手机的重启问题,在实际的手机维修中,界面故障是比较好修的,然后就是不开机故障,针对不开机大部分维修朋友根据耗电电流的大小来判断大致故障位置,通过分析测量找出故障。那么针对…

android维修手机,还能修手机烧屏?安卓手机屏幕测试神器

本帖最后由 QZC0607 于 2015-9-2 16:23 编辑 还能修手机烧屏?安卓手机屏幕测试神器 屏幕是手机的面子,也是用户面对手机最多的部件。但偏偏,手机屏幕也是厂商品控最差的部件之一,很多朋友拿到新手机,第一时间就查看手机屏幕是否有问题。要如何才能更好地检测手机屏幕?这款…