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

佛山网站制作哪家好营销型外贸网站建设

佛山网站制作哪家好,营销型外贸网站建设,网站开发有几种语言,最好的做网站的公司设计原则 封装、继承、多态、抽象分别可以解决哪些编程问题 封装:也叫做信息隐藏或数据保护访问。数据 通过暴露有限的访问接口,授权外部仅能通过类提供接口访问,对内的类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.hkea.cn/news/854332/

相关文章:

  • 做英文网站 用阿里服务器行吗b2b网站推广排名
  • 搭建网站做淘宝客网赌怎么推广拉客户
  • 网站建设前台与后台最新技术2021最新免费的推广引流软件
  • 做网站基本语言淘宝如何提升关键词排名
  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司
  • 深圳网站优化咨询网上广告怎么推广
  • 网站右击无效是怎么做的网络营销产品
  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段
  • 新手做那些网站比较好东莞企业网站排名
  • 欧美风格网站360指数
  • 优秀网站建设公司电话下列哪些店铺适合交换友情链接
  • 58同城乌鲁木齐网站建设重庆网站到首页排名
  • wordpress知言主题山东服务好的seo公司
  • 旅游商务平台网站建设功能需求关键词排名查询官网
  • 做网站要搭建本地服务器么微商引流被加方法精准客源
  • 网站名字要备案吗友情链接怎么弄
  • 江苏网站开发外链网站大全
  • 网站代备案流程图百度关键词优化排名技巧
  • 石狮建设局网站今日头条站长平台
  • 修改公司网站网页站长素材音效
  • 网站速度测速免费访问国外网站的app
  • 常州网站搭建公司宣传推广渠道有哪些
  • 中国建设监理网站广告网络