C#面向对象、构造器简单总结

2 篇文章 0 订阅

1面向对象的设计原则

1.1 单一职责SRP

一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。

1.2 开闭原则OCP

(最重要的面向对象设计原则)

软件实体应当对扩展开放,对修改关闭。

抽象化是开闭原则的关键:相对稳定的抽象层 + 灵活的具体层。

1.3 里氏代换原则LSP

(向上转型)

在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立。

具体见E01.cs

1.4 依赖倒转原则DIP

(C#中编写“换枪”时用到过)

要针对接口(抽象)编程,不要针对实现编程。

1.5 接口隔离原则ISP

当一个接口太大时,需要将它分割成一些更细小的接口。

1.6 合成复用原则CRP

(Unity中可通过向空物体中加不同组件实现将空物体变成不同物体)

优先使用对象组合,而不是继承来达到复用的目的。

1.7 迪米特法则LKP

一个对象只能与直接朋友发生交互,不要和“陌生人”发生直接交互,这样做可以降低系统的耦合度,一个对象的改变不会给太多其他对象带来影响。

2 类的UML图示

2.1图例

减号“-”:private

加号“+”:public

井号“#”:protected

2.2 类之间的关系

单向关联,双向关联,聚合,组合,依赖,继承,接口

3 类中构造器的区别与说明


3.1 有参与无参构造器

类中若不声明任何构造器,默认会存在一个无参构造器;

若声明了有参构造器,默认存在的无参构造器将被覆盖消失

3.2 静态构造器

格式:static 类名(){}

(前面不能加访问修饰符,因为实例化的所有对象是不会通过静态构造器生成的)

无论new几个新对象,仅在第一次new时执行一次

3.3 私有构造器

格式:private 类名(){}

不能在类外调用,只能在类内实例化,这样可以确定实例化对象的数量

(在类内实例化的方式:将“new 类名”实例化过程写入一个public static修饰的方法内。实例化时由其他类通过“类名.方法名”调用)


   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值