当前位置: 首页 > news >正文

牛人网站建设赣州网站设计哪里好

牛人网站建设,赣州网站设计哪里好,ppt模板制作教程步骤,wordpress配置文件ip一、封装、继承、多态关系说明 封装、继承、多态这三大特性是相互关联的,封装和继承几乎都是为多态而准备的。 封装是基础,继承是关键,多态性是补充。 多态性存在于继承性之中,它是继承性的进一步扩展,没有继承就没…

一、封装、继承、多态关系说明

封装、继承、多态这三大特性是相互关联的,封装和继承几乎都是为多态而准备的。

封装是基础,继承是关键,多态性是补充。

多态性存在于继承性之中,它是继承性的进一步扩展,没有继承就没有多态。

通过多态可以实现代码重用,减少代码量,提高代码的可扩展性和可维护性。

二、什么是封装

封装,就是将类的属性和方法封闭起来,外部成员不可直接调用,只能通过预留的接口访问。

限制对数据的直接访问,隐藏内部实现细节,仅对外提供必要的公共接口来与外部进行交互。

三、封装的好处

1、在一定程度上保证了数据的稳定性、安全性。

类内部的数据,外部无法直接访问,信任的可修改内部,不信任的不可修改内部;

防止非法操作和数据篡改,确保内部数据的安全。

2、提高代码的可维护性,降低开发难度

外部只需关注对象的公共接口,修改对象内部实现时,对其他部分的影响较小。

减少因为一处修改导致其他程序跟着被修改的情况,极大提高代码可维护性;

3、也能够简化编程,提高代码的复用

有时候我们并不想知道其原理,只需要会调用即可,外部的对象只需要访问一个简单的接口函数。

另外,把具有相似功能的方法和相关数据封装在一起形成类,在其他地方需要类似功能时,可直接使用这个类,避免重复编写代码。

4、提高程序的模块化,方便项目管理

可以将不同的功能模块划分到不同的类中,使程序结构更加清晰,便于功能管理和扩展。

四、封装体现和使用

1、类的访问修饰符

通过访问修饰符,类的属性或方法可以选择是否允许被外部访问,从而限制了外部的权限,保护了内部的数据的稳定性。

在C#中,有不同的访问修饰符:

(1)public:可以在项目外被访问,任意存取,可以被继承。

(2)pirvate:只能在本类中被访问,只可以被本类所存取,不能被继承。

(3)protected:只能在本类中被访问,可以被继承。

(4)internal:只能在同一程序集中被访问,可以跨类。可以被继承。

在C#中,新增了internal这一关键字。internal的作用域为同一程序集。

程序集的概念可以理解为一个工程、项目,编译后的dll文件或exe文件。

也就是说,internal修饰符修饰后,该类只能在单一工程内访问,如果其他项目访问是不行的。

//外部可访问的Student类
public class Student
{...
}
2、类的属性

定义字段为私有private,

然后再定义一个与该字段对应的public属性,对属性设置具有对外使用的set和get方法;

外部通过属性来获取和设置类内部的字段数据;

get和set是属性访问器,分别用于读取和写入字段的值,控制对字段的访问级别和验证数据的完整性。

    // 只能类内部使用的私有字段private string name; // 外部可访问的公开属性public string Name{get { return name; }set { name = value; }}
3、类的方法/函数

 将对象的行为封装在方法中,通过方法来控制对象的状态和行为,方法的访问级别也可由访问修饰符来定义。

public class Test(){int x =0;static void Main(string[] args)//程序执行入口{x=10;PrintFunc();}// 介于Public和private访问范围之间的,受一定保护限制的,可访问方法protected void PrintFunc(){x=x+1;Console.WriteLine("X=: {x}");}
}
4、类的构造函数

C# 构造函数是一种特殊的方法,用于在创建对象时初始化对象;

使用类的构造函数,对新创建的类对象里的数据进行赋值,初始化,可确保对象在使用前处于有效状态。

注意事项:

(1)构造函数的名称必须与它所属的类名完全相同,包括大小写。

(2)构造函数不允许有返回类型,包括void也不行。

(3)当使用new关键字创建类的对象时,构造函数会被自动调用。

一个类可以有多个构造方法(即多种初始化类的方法),根据创建类时传入的参数不同,自动使用不同的构造函数,对类对象进行不同初始化设置,以满足不同的创建对象的需求;

using System;public class Student
{protected int id= 1;// 无参构造函数public Student(){id = 100;Console.WriteLine($"学生的id值为: {id}");}// 有参构造函数public Student(string msg){Console.WriteLine($"学生的id值为: {id},传入的消息为: {msg}");}
}class TestProgram
{static void Main(){Console.WriteLine("Test:");Student student1 = new Student();//使用无参构造函数,创建id为100的Student对象Student student2 = new Student("Hello");//使用带参构造函数,创建id为1的Student对象}
}

http://www.dtcms.com/a/538178.html

相关文章:

  • 前端全流程技术方案与落地实践——新项目与迭代项目指南
  • Linux网站开发设计免费代理加盟好项目
  • 接入备案和增加网站wordpress建站seo
  • Nacos动态刷新基础实战:从环境搭建到服务端部署
  • 网站代理怎么赚钱wordpress 0day漏洞
  • 每日一个C语言知识:C 预处理器
  • 南庄网站开发中国男篮最新消息
  • 谷谷互联建的网站如何把qq在线怎么制作php网站
  • 南京金九建设集团网站新浪短链接生成网址
  • 清远做网站seo如何查看网站seo
  • 动漫电影做英语教学视频网站广告投放
  • 网站开发框架 简单巩义关键词优化公司电话
  • 做企业网站设计手机站网站建设php培训
  • EcoVadis评估?百胜STG:优质ecovadis评估咨询认证机构
  • 丹东网站制作中山网页设计制作
  • 网站设计图惠阳区城市建设规划局网站
  • 【Java后端进行ai coding实践系列】如何使用ai coding实现计划任务增删改查
  • 哪些网站可以做淘宝客盟威软件快速开发平台
  • 美工培训机构seo技术培训价格表
  • 《小白学随机过程》第二章:常见的随机过程——详细解读马尔科夫决策过程MDP和强化学习(2 值迭代和策略迭代 附python代码
  • 济源城乡建设局网站最全的wordpress 中文手册
  • 苏州网站设计kgwl网站加入wordpress
  • 温州专业全网推广建站公司杭州国外网站推广公司
  • 建工厂网站的公司艺麟盛世可以做网站推广吗
  • 2023年电商平台排行榜seo标签优化
  • 安徽省建设厅网站工程师查询网红营销对消费者行为的影响
  • 山东省聊城建设学校网站网站建设实习内容
  • 自己做的网站实现扫码跳转知名企业网站搭建
  • 阿里云网站建设详细教程精品课程 网站建设质量
  • web自动化测试-selenium-03_下拉选择框、弹出框、滚动条操作