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

国家高新技术企业证书图片排名seo怎么样

国家高新技术企业证书图片,排名seo怎么样,wordpress 统计小工具,网站外链建设原则为何有时要将子类对象赋值给父类引用,用父类来进行实例化? 这就要说多态的优势: 代码的扩展性和降低耦合度,而不是完全避免修改代码。 TuXing t new Changfangxing(); Changfangxing k (Changfangxing)t;原因1: 代码可拓展性 …

为何有时要将子类对象赋值给父类引用,用父类来进行实例化?

这就要说多态的优势: 代码的扩展性和降低耦合度,而不是完全避免修改代码。

TuXing t = new Changfangxing();
Changfangxing k = (Changfangxing)t;

原因1: 代码可拓展性

通过父类引用调用方法时,实际执行的是子类的实现。
这样,当需要拓展系统时,只需要添加新的子类,而不需要修改现有的代码逻辑。

Animal[] animals = new Animal[2];
animals[0] = new Dog(); // 父类引用指向Dog对象 
animals[1] = new Cat(); // 父类引用指向Cat对象 
for (Animal animal : animals) { animal.eat(); // 所有Animal子类都可以调用eat()方法 
}

• 使用 Animal 类型的数组可以存储所有 Animal 子类的对象。
• 这样可以统一处理不同类型的对象,而不需要为每种类型编写单独的代码。

public class Main {public static void main(String[] args) {Animal myAnimal = new Dog();  // 这里可以手动修改为 new Cat()makeAnimalSound(myAnimal);   // 调用方法}// 这个方法可以处理任意Animal子类对象public static void makeAnimalSound(Animal animal) {animal.makeSound();}
}

原因2:接口与实现类分离

降低耦合度,多态通过将接口(父类)和实现(子类)分离,降低代码的耦合度。调用者只需要知道父类的接口,而不需要关心具体的子类实现。

public class Main {public static void main(String[] args) {Animal myAnimal = getAnimal();  // 获取Animal对象myAnimal.makeSound();           // 调用方法}// 这个方法可以根据条件返回不同的Animal子类对象public static Animal getAnimal() {// 假设根据某些条件返回不同的子类对象if (/* 条件 */) {return new Dog();} else {return new Cat();}}

原因3: 工厂模式

进一步减少代码的修改,工厂模式将对象的创建逻辑分装到一个单独的类中,调用者只需要通过工厂获取对象,而不需要关心具体的子类类型。

class AnimalFactory {public static Animal createAnimal(String type) {if (type.equals("Dog")) {return new Dog();} else if (type.equals("Cat")) {return new Cat();} else {throw new IllegalArgumentException("Unknown animal type");}}
}public class Main {public static void main(String[] args) {Animal myAnimal = AnimalFactory.createAnimal("Dog");  // 通过工厂获取Animal对象myAnimal.makeSound();                                 // 调用方法}
}

原因4: 限制对子类特定方法的访问

     Animal myAnimal = new Dog();  // 父类引用指向Dog对象myAnimal.eat();  // 可以调用// myAnimal.bark();  // 编译错误,Animal类没有bark()方法

通过父类引用,你只能访问父类中定义的方法和属性,而不能访问子类特有的方法(如 bark())。
这样可以更好地控制对象的访问权限。

http://www.dtcms.com/wzjs/505319.html

相关文章:

  • 网站备案要买备案号网站建设报价
  • wordpress图片懒加载js搜索引擎seo如何优化
  • 做网站的 深圳百度营销官网
  • 淘宝直接怎么做网站怎样创建网站或者网址
  • 独立站工具目前在哪个平台做推广好
  • 农场会员营销网站建设西安市网站
  • mvc5做博客网站seo辅助优化工具
  • vs网站界面是什么做的互联网营销师培训机构哪家好
  • asp 做购物网站优化精灵
  • 注册了域名 网站怎么做长春百度推广公司
  • 广州城乡建设部网站首页搜索引擎优化作业
  • 开发网站平台有人看片吗免费观看视频
  • 做网站布局的时候需要把导航复制到每个页面吗排名检测
  • 自已电脑做网站服务器一诺网络推广公司
  • 武汉骑士网络做网站seo关键词挖掘
  • 海门市住房和城乡建设局网站今天的最新新闻内容
  • 做网站布局的时候需要把导航复制到每个页面吗微信广点通广告平台
  • 免费建设外贸网站宁波品牌网站推广优化公司
  • 做教育网站seo互联网营销培训
  • 模板网站与定制网站的价格今日国际重大新闻事件
  • 国外的做的比较优秀的网站网页模板图片
  • 九江网站建设公司重庆自动seo
  • 网站建设图长春seo招聘
  • 宁波专业优化网站制作公司整站优化系统厂家
  • 湖南网站建设 搜搜磐石网络seo岗位工资
  • 网站的logo怎么换行业网站网址
  • 网站建设浅析一个企业seo网站的优化流程
  • 网站搭建服务器需要什么互联网运营推广是做什么的
  • 山东信达建设有限公司网站福州百度推广电话
  • 做彩票网站需要学习什么aso推广公司