OOP笔记
反转旋木
人必自助而后人助之,而后天助之
展开
-
unity oop学习笔记之一
前面要注意的1 代码需要 复用性 可维护性 健壮2啥是抽象 ?1:模糊,不清楚,不具体eg 我是个好人 ;oop很多规则就是这样:抽象,某个角度 好,换角度 不好!2 抽取共象【很多类似对象,提取共性】3 写代码要注释 (数据类型 字段方法 方法 上面加注释 )命名 见名知意什么是面向对象以对象为核心,在软件的分析设计实现中 遵循面向对象的设计原则并 使用封装继承,多态...原创 2019-02-16 23:15:59 · 708 阅读 · 0 评论 -
c# 泛型的小笔记
Xasda原创 2019-02-10 10:33:43 · 116 阅读 · 0 评论 -
unity C# OOP学习笔记之八(对象池)
对象池的叫法:软件领域:对象池叫池,池技术,缓存,缓存技术池也叫容器,能放多个元素的容器对象池的定义 What,why对象池【缓存】是提高程序性能的一种技术,是使用空间来换取时间的技术【空间 换 性能】 对象池为什么能提高程序性能? 一般情况 程序中需要对象时,就创建,使用, 不使用的时候,从内存中清除 再次需要时,就再创建-使用- 从内存中清除 如果使用对象池: 程...原创 2019-02-10 20:09:13 · 255 阅读 · 0 评论 -
unity3D OOP学习笔记一点五 构造方法
Q:1.为什么需要构造方法? A obj=new A();1创建对象【1分配内存空间,放对象;2初始化对象字段】//A: 只要类型需要创建对象,都需要构造方法,因为构造方法是创建对象的唯一通道.//Q:2.为什么要重载构造方法?//A:构造方法在创建对象的同时,并为对象成员做初始化,通过传递的参数为成员赋值希望得到初始状态不同的对象时,需要使用//Q:3.构造方法之间可不可以互相...原创 2019-02-17 11:12:41 · 159 阅读 · 0 评论 -
unity C# OOP学习笔记之九(单例模式)
单例设计模式定义:是设计模式中最简单的一个设计模式单例设计模式本质上就是一个类,一个特殊的类特殊1:构造方法私有2:包含一个 静态私有字段 返回自己的类型3:包含一个 静态公共方法 返回自己的类型用途:保证自己在应用程序域中 最多仅有一个实例【对象】存在...原创 2019-02-11 22:52:29 · 228 阅读 · 0 评论 -
unity3d C# OOP学习笔记之一点六 (类与类的关系)
类与类的四大关系1泛化: 类与类的继承关系。耦合度最高继承:1》泛化 多 从子类推向父类2》特化 父类推子类做法 B类继承A类2实现:抽象行为的具体实现,两者体系功能的关系,变化只影响行为;做法 实现抽象类 实现类与接口之间的关系。3关联: (聚合/耦合)整体与部分的关系,功能的复用,变化影响一个类;A与B关联,意味者B是A的一部分;做法:在A类中...原创 2019-02-18 11:07:21 · 262 阅读 · 0 评论 -
unity3D OOP学习笔记五点一 (接口改 )
什么是接口What**使用关键字interface 创建的数据类型。接口名建议用”I”开头,其后单词首字母大写 ISwitch,IFly,IRun,ICompareble接口的特点1接口是抽象的,接口是一组行为的抽象。(接口中只有行为)接口只表达“Can Do”,不表达“How To”接口只关注行为,且不关注行为的实现,实现由实现类完成接口不关注数据(接口中不能有字段)2接口是规范...原创 2019-02-18 16:08:15 · 166 阅读 · 0 评论 -
OOP 反射学习笔记之一
啥是反射动态获取类型信息 动态创建对象 动态访问成员的过程。反射的作用了解类型信息动态创建类型实例动态访问实例的成员常用类取得数据类型Type如何得到Type方式一:Type.GetType(“类型全名”);适合于类型的名称已知方式二:obj.GetType();适合于类型名未知,类型未知,存在已有对象方式三:typeof(类型)适合于已知类型方式四:Assemb...原创 2019-02-20 21:51:42 · 294 阅读 · 0 评论 -
c#中的几种比较辨析
C# 中==与Equals方法比较对于值类型,==和Equals()等价,都是比较存储信息的内容(即比较两个对象的值是否相同);对于除string之外的引用类型,==比较的是栈的内容是否相同(即是否指向同一个堆中地址),Equals()判断是否对同一个对象的引用(即堆中的内容是否相同);string是一种特殊的引用类型,在C#语言中,重载了Object对象的很多方法(包括equa...转载 2019-02-09 23:21:00 · 310 阅读 · 0 评论 -
用实例来理解IComparable和IComparable泛型
class Person:IComparable,IComparable<Person>{ public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } public int CompareTo(**Person other**) ...原创 2019-02-08 19:54:47 · 445 阅读 · 0 评论 -
unity 3D OOP学习笔记二(继承)
什么是继承是复用代码,复用概念的一种技术。为什么需要继承 继承的优点为了保留原有的功能,通过继承可以复用,不用每次都从头开始为了能够对类进行层次性的管理继承的优点1. 复用代码的一种方式2. 统一概念,概念复用 复用概念 动物》狗 语法上3. 以层次化【树】的方式管理类Animal obj3= new Dog();它其实等于Dog obj2=new Dog();...原创 2019-02-03 00:01:23 · 265 阅读 · 0 评论 -
unity 3D c# 访问修饰符
修饰符一共有4个:控制可访问性【范围】private 私有 作用:只有当前类可用protected 保护 当前类和后代可用internal 内部 当前项目可用public 公有 不受限制2 放在哪里?数据类型前面 类前面数据类型的成员前面【字段 方法 】类里面...原创 2019-02-03 17:27:35 · 564 阅读 · 0 评论 -
unity 3D OOP学习笔记之三 (隐藏 重写)
啥是多态?多态:多种形态,对象的多种形态,行为的多种形态1 体现为,子类对象可以通过父类型引用,Animal obj3 = new Dog(); 1语法 2概念 obj32 行为的多态体现为方法的重写,隐藏,重载继承将相关概念的共性进行抽象,并提供了一种复用的方式。多态在共性的基础上,体现类型及行为的个性化。一个行为有多个不同的实现多态的实现方式,有几种实现多态的方式1实现多态的...原创 2019-02-04 23:06:24 · 209 阅读 · 0 评论 -
unity3D c# OOP学习笔记之四(抽象)
抽象类1语法:用abstract修饰的类即为抽象类.2特点:抽象类不能创建对象【不能实例化】 可以被继承!抽象类中可能包含抽象成员(方法,属性)【可以为空,可以没有抽象成员,可以有抽象成员】虽然不能实例化自己但是可以作为数组存东西什么时候需要使用抽象类1》 希望做基类,对多个类进行统一管理【类将再分类】2》 【使用抽象类的根本原因:需求 分析时找角色找共性时找的共性中 ...原创 2019-02-05 11:52:49 · 239 阅读 · 0 评论 -
unity3D OOP学习笔记五(接口)
什么是接口What使用关键字interface 创建的数据类型。接口名建议用”I”开头,其后单词首字母大写 ISwitch,IFly,IRun,ICompareble接口的特点 重点!接口的特点1接口是抽象的,接口是一组行为的抽象。(接口中只有行为)接口只表达“Can Do”,不表达“How To”接口只关注行为,且不关注行为的实现,实现由实现类完成接口不关注数据(接口中不能有字段...原创 2019-02-05 23:09:27 · 405 阅读 · 0 评论 -
unity C# OOP学习笔记之六(委托)
什么是委托委托是方法的代理,委托的是方法,当调用委托时就是调用了这个方法.委托是一类行为的抽象。当调用委托时就是调用了这个方法。【委托能存储方法的地址{引用}】【间接调用】(没有直接调用好 但是灵活)委托的定义:委托是一种数据类型(声明了返回类型和参数组成的数据类型);委托代表的是方法,【代表和委托签名一样的任何方法】当调用委托时就是调用了这个方法。签名有时 返回类型和参数组成【...原创 2019-02-07 21:30:24 · 242 阅读 · 0 评论 -
unity C# OOP学习笔记之七(事件)
什么是事件1)事件是一种设计模式!叫法多【了解】叫事件【事件设计模式】【事件模式】【事件模型】叫通知模型叫观察者设计模式【观察者模式】【观察者模型】叫监听模型重点:事件的使用步骤严格固定2) 定义【记住】:event字面【事件】事件是声明为委托类型的类的成员,表示类的偶发的行为,一旦这个行为发生,往往要引起其它行为【方法】的自动执行事件是用来实现两个或多个行为的联动调用的。...原创 2019-02-07 23:29:02 · 260 阅读 · 0 评论 -
c# 泛型学习笔记之一
什么是泛型泛型就是将类型做参数有泛型类 泛型方法 (在后面)泛型的优点类型安全,避免强制类型转换性能较好,避免装箱操作将一个算法基于类型的不同而复用。避免代码膨胀泛型约束在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数(泛型)的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上...原创 2019-02-08 18:59:57 · 159 阅读 · 0 评论 -
OOP复习笔记之一
反射啥时候用 再调用时候决定就用反射(性能可能有影响)封装多态 调用父类执行子类 (抽象 多态)继承 is a 一个事务代表他们封装面向对象的设计原则1 开闭原则 :对扩展开放,对修改关闭理想条件下的目标eg 有个 项目 一 需要 class 1 F1() F2 ()第二个 项目 用到 class1 F1() F2() F3()问咋办第一个解决方...原创 2019-02-26 15:58:20 · 197 阅读 · 0 评论