切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
设计模式
第三天--里氏转换原则、多态、抽象
第三天--里氏转换原则、多态、抽象
2020-04-29
设计模式
前端之家
前端之家
收集整理的这篇文章主要介绍了
第三天--里氏转换原则、多态、抽象
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1、
自动
属性
的复习 可以自己写一个
属性
和一个
自动
属性
,然后用反编译工具查看:将它们进行比较
自动
属性
只能针对标准的get,set直接访问字段,为字段赋值 类内部也可以定义类,但所定义的类只能在内部使用。 ====================================================== 2、让找到的对象做事,就是
调用
对象的
方法
类.对象名=new 对象(); 类.
方法
(); 在
代码
中描述对象(特征、行为) 特征:
属性
行为:
方法
都是用点来使用 ================================================= 3、计算器复习 main
方法
中只做3件事: 1、找到计算器对象 2、输入数字 3、计算 计算器类 //字段 //
方法
构造
方法
要有两个构造
方法
:其中一个为空的,通过
属性
来赋值; 另一个有参数的通过构造
函数
来赋值 计算的
方法
switch(oper) { case “+”:res=dNum1+dNum2;break; case “-”:res=dNum1+dNum2;break; case “*”:res=dNum1+dNum2;break; case "/": res=dNum1+dNum2;break; default:break; }
添加
属性
的快捷
方法
(ctrl+r+e再按两下回车) 凡是有static修饰的
方法
可以直接由类名点出来 ================================================= 4、 里氏转换原则 使用里氏转换原则可以统一
调用
每一次使用各个成员的
方法
的时候都需要判断,强转 ?能不能不强转,直接使用pp[i].sayHello() 做到的
方法
: 隐藏基类的
方法
:在
父类
中提供一个与子类完全相同的
方法
(但是不能是重载) 当子类与
父类
有相同
方法
的时候,new一个对象执行的是
父类
还是子类的
方法
看类型; 这可能会在编译的时候子类的
方法
发生警告,这时可以在声明子类的时候
添加
一个new 继承存在,并保证子类与
父类
有相同的
方法
在
父类
方法
前
加上
virtual 在子类
方法
前
加上
override 隐藏基类
方法
,根据类型决定
调用
什么
方法
重写基类
方法
,无论什么类型
调用
新的
方法
(子类重写的那个
方法
) 5、 C#是类型安全的语言 什么类型的数据,只能赋值给什么类型的变量 什么类型,只能访问该类型的成员(通过点) 6、is用来判断对象是否可以进行转化 语法 变量(对象) is 类型 如果对应的变量可以转化为右边的类型,那么整个表达式为true 如果不能转化就是false 7、this与base this 区
分类
的成员 子类中使用this描述
父类
成员的时候一样可行(继承) 此时写base与this是等价的(方便开发是分清楚变量)
调用
本类构造
方法
在很多情况下,构造
方法
都是为字段赋初值的 由于实现的
功能
不同,那么赋值的时候,可能不一定完全相同 base 区
分类
的成员
调用
父类
构造
方法
//this和base 还是不怎么明白 (1)如何指定
调用
构造
方法
(根据参数重载) (2)语法 ===================================================== 8、多态----就是一个
调用
,多种实现 隐藏、重写 不但可以不因为没有这个
方法
而出错,还可以
自定义
这个
方法
is和as运算符 is 判断是否符合 as 子类 f;//f是一个
父类
的变量,或者其他变量 if(f is 子类) { z = (子类)f; } else { z = null; } ==================================================== 子类 z = f as 子类; 9、抽象
方法
使用时刻 不知道
方法
怎么实现
方法
不需要实现 public abstract 返回类型
方法
名(); 抽象
方法
必须使用与抽象类中 abstract class
方法
名 { public abstract
方法
名();不用写
方法
体 } 抽象
方法
就是为了实现多态的,所以子类必须重写
父类
的抽象
方法
public override
父类
提供的
方法
名() { //正常
方法
} 但是如果子类也是抽象额,就可以不重写
父类
的
方法
; 10、抽象类 类前带有abstract的类 是对一类事物或对象的抽象,它统一了一类对象 抽象类当中有哪些成员? 抽象成员
方法
、
属性
、索引、事件声明 非抽象成员(与正常类一样) 怎么使用抽象类? 抽象类就是为了实现多态的 抽象类不能实例化(不能new) 抽象类中可以有构造
函数
(给非抽象成员初始化) 抽象
属性
抽象
属性
与
自动
属性
很像,但是本质不同
自动
属性
,
后台
会有一个字段
生成
,系统会
自动
的
添加
对应的
方法
体 抽象
属性
,是因为没有
方法
体,所以get、set中什么都没有; 结果的不同 11、产生
随机
数的
方法
random r=new random(); int res=r.Next(); ->r.Next() ->r.Next(num)0到num之间的
随机
数,取不到num ->r.Next(min,max)
上一篇:单IP无TMG拓扑Lync Server 2013:边
下一篇:设计模式——依赖倒转原则
猜你在找的设计模式相关文章
适配器模式-让不兼容的接口得以适配
适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合...
作者:前端之家 时间:2021-02-24
策略模式-定义一个算法族
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独...
作者:前端之家 时间:2021-02-24
设计模式之高质量代码
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,它是针对软件开发中经常遇到的...
作者:前端之家 时间:2021-02-24
模板方法模式-封装一套算法流程
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在...
作者:前端之家 时间:2021-02-24
迭代器模式-统一集合的遍历方式
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。
作者:前端之家 时间:2021-02-24
单例模式的五种实现方式及优缺点
单例模式(Singleton Design Pattern)保证一个类只能有一个实例,并提供一个全局访问点。
作者:前端之家 时间:2021-02-24
组合模式-统一的处理个别对象与组合对象
组合模式可以将对象组合成树形结构来表示“整体-部分”的层次结构,使得客户可以用一致的方...
作者:前端之家 时间:2021-02-24
装饰者模式-动态的包装原有对象的行为
装饰者模式能够更灵活的,动态的给对象添加其它功能,而不需要修改任何现有的底层代码。
作者:前端之家 时间:2021-02-24
观察者模式-将消息通知给观察者
观察者模式(Observer Design Pattern)定义了对象之间的一对多依赖,当对象状态改变的时候...
作者:前端之家 时间:2021-02-24
代理模式-访问对象的代理而非其本身
代理模式为对象提供一个代理,来控制对该对象的访问。代理模式在不改变原始类代码的情况下...
作者:前端之家 时间:2021-02-24
编程分类
算法
设计模式
多媒体技术
正则表达式
Elasticsearch
Flink
Hadoop
IDE
最新文章
• 适配器模式-让不兼容的接口
• 策略模式-定义一个算法族
• 设计模式之高质量代码
• 模板方法模式-封装一套算法
• 迭代器模式-统一集合的遍历
• 外观模式-简化子系统的复杂
• 单例模式的五种实现方式及
• 组合模式-统一的处理个别对
• 装饰者模式-动态的包装原有
• 观察者模式-将消息通知给观
热门标签
更多 ►
受约束
摘*
day25
Java常用类库
置信
lamda
留存
持续录入
年后
正则表达式30
3.17
regularexpre
匹
多模
适
20130322
基础理论
pathmunge
涵义
reec
tok
需要转义的特
资源分享
validationex
简明魔法
里弄
形如
源码实现
完备
actionscript