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

怎么用wordpress建站福州市工程建设质量管理网站

怎么用wordpress建站,福州市工程建设质量管理网站,thinkphp官方网站,国家企业公示网入口官网登录设计原则 封装、继承、多态、抽象分别可以解决哪些编程问题 封装:也叫做信息隐藏或数据保护访问。数据 通过暴露有限的访问接口,授权外部仅能通过类提供接口访问,对内的类private私有化属性,通过封装简化操作,让用户更…

设计原则

封装、继承、多态、抽象分别可以解决哪些编程问题
封装:也叫做信息隐藏或数据保护访问。数据 通过暴露有限的访问接口,授权外部仅能通过类提供接口访问,对内的类private私有化属性,通过封装简化操作,让用户更好使用,隐藏信息、保护数据

抽象:主要是讲如何隐藏方法的具体实现,让调用者之需要关系方法提供了哪些功能,并不需要知道这些功能是如何实现的,可借助interface和abstract两个关键字实现,简化操作,让用户只关心功能点,不用关心具体实现

继承:继承的好处就是代码复用,Java只支持单一继承

多态:多态就是指子类可以替代父类,多态能提供代码的扩展性和复用性

设计模式开源实战

工厂模式在Calendar类只能够的应用
大多数工厂模式都是以Factory作为后缀来命名。但是实际运用过程中非常灵活,比如java JDK中的一个应用:java.util.Calendar。从命名上不好看出它是一个工厂类
Calendar类,提供了getInstanc()工厂方法获取不同的TimeZone和Locale,创建不同的Calendar子类对象

 public static Calendar getInstance(TimeZone zone,Locale aLocale){return createCalendar(zone, aLocale);}private static Calendar createCalendar(TimeZone zone,Locale aLocale){CalendarProvider provider =LocaleProviderAdapter.getAdapter(CalendarProvider.class, aLocale).getCalendarProvider();if (provider != null) {try {return provider.getInstance(zone, aLocale);} catch (IllegalArgumentException iae) {// fall back to the default instantiation}}Calendar cal = null;if (aLocale.hasExtensions()) {String caltype = aLocale.getUnicodeLocaleType("ca");if (caltype != null) {switch (caltype) {case "buddhist":cal = new BuddhistCalendar(zone, aLocale);break;case "japanese":cal = new JapaneseImperialCalendar(zone, aLocale);break;case "gregory":cal = new GregorianCalendar(zone, aLocale);break;}}}if (cal == null) {// If no known calendar type is explicitly specified,// perform the traditional way to create a Calendar:// create a BuddhistCalendar for th_TH locale,// a JapaneseImperialCalendar for ja_JP_JP locale, or// a GregorianCalendar for any other locales.// NOTE: The language, country and variant strings are interned.if (aLocale.getLanguage() == "th" && aLocale.getCountry() == "TH") {cal = new BuddhistCalendar(zone, aLocale);} else if (aLocale.getVariant() == "JP" && aLocale.getLanguage() == "ja"&& aLocale.getCountry() == "JP") {cal = new JapaneseImperialCalendar(zone, aLocale);} else {cal = new GregorianCalendar(zone, aLocale);}}return cal;}

建造者模式在Calendar类中的应用

 private String type;private TimeZone zone;private boolean lenient = true;private Locale locale;private int firstDayOfWeek, minimalDaysInFirstWeek;/*** Constructs a {@code Calendar.Builder}.*/public Builder() {}public Builder setInstant(long instant) {if (fields != null) {throw new IllegalStateException();}this.instant = instant;nextStamp = COMPUTED;return this;}public Builder setInstant(Date instant) {return setInstant(instant.getTime()); // NPE if instant == null}public Builder set(int field, int value) {// Note: WEEK_YEAR can't be set with this method.if (field < 0 || field >= FIELD_COUNT) {throw new IllegalArgumentException("field is invalid");}if (isInstantSet()) {throw new IllegalStateException("instant has been set");}allocateFields();internalSet(field, value);return this;}

既然有了getInstance()工厂方法来创建Calendar类对象,为什么还要用Builder来创建Calendar类对象呢?这两者的区别在哪里呢?
工厂模式是用来创建不同但相关类型的对象(继承同一父类或接口的一组子类),由给定的参数来决定创建哪种类型的对象。建造者模式用来创造一种类型的复杂的对象,通过设置不同的可选参数,定制化的创建不同的对象

装饰器模式在Collections类中的应用

适配器模式在Collections类中的应用
适配器模式可以用来兼容新旧老版本的接口。老版本的JDK提供了Enumeration类来遍历容器。新版本的JDK用Iterator类来替代Enumeration类来遍历容器。

持续更新中

http://www.yayakq.cn/news/760451/

相关文章:

  • 阜宁做网站找哪家好获客软件
  • 自己制作免费网站网络营销的主要方式和技巧
  • 备案名 网站名郑州网站建设开发
  • 专业建设网站建站ui设计职业培训机构
  • 汽车网站建设预算科技公司经营范围包括哪些
  • 招聘网站制作龙华住房和建设局网站怎么无法登陆
  • 网站怎么做会员系统有哪些做包装盒的网站
  • 泰安网站建设作用wordpress主题转hexo
  • 建网站大公司wordpress 插件管理
  • 网站制作基本步骤app合作开发
  • 怎样在百度做网站表白一个正规的网站建设公司
  • 哪些网站做推广性价比高美工怎么做网站效果图
  • 企业网站建设的收获简述电子商务网站开发的研究意义
  • 以个人名义做地方门户网站深圳罗湖企业网站建设
  • 沈阳微营销网站制作通过网站做跳板
  • 做网站后期维护工资贴吧个人做网站花多少钱
  • 中山网站建设企业安全网站建设
  • 丹徒网站建设信息建筑公司网官网
  • asp.net做网站怎么样建筑工程施工招聘信息
  • 深圳网站设计哪里好公司网站建设公司排名
  • 应式网站营销方案设计
  • 网站有哪些漏洞店铺推广方法
  • 贵州建设厅考试网站二建成绩四川汉舟电力建设有限公司网站
  • 制作公司网站备案需要提供什么资料呼伦贝尔旅游包车网站咋做
  • 安徽公路建设行业协会网站wordpress插件dx-seo
  • 营销型网站九大特点怎样用阿里云服务器做网站
  • 运营网站流程施工企业会计制度收入确认规定
  • 西安印象网站建设win server wordpress
  • 网站应急响应机制建设情况功能性的网站建设
  • 免费站推广网站在线申请免费的网站