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

2019做网站必须做可信网站吗做蛋糕的英文网站

2019做网站必须做可信网站吗,做蛋糕的英文网站,公司设计一个网站,哪个网站可以接项目做一、封装(Encapsulation) 1. 封装的概念 封装是面向对象编程的第一大特性,它指的是将数据和操作数据的方法绑定在一起,并对外部隐藏对象的内部实现细节。 2. 封装的核心原则 私有化属性:使用private修饰类的成员变…

一、封装(Encapsulation)

1. 封装的概念

封装是面向对象编程的第一大特性,它指的是将数据和操作数据的方法绑定在一起,并对外部隐藏对象的内部实现细节。

2. 封装的核心原则

  • 私有化属性:使用private修饰类的成员变量
  • 公开方法:提供public的getter和setter方法
  • 控制访问:通过方法限制对属性的不合理访问

3. 封装的实现示例

public class Person {// 私有属性private String name;private int age;// 公开方法public String getName() {return name;}public void setName(String name) {if(name == null || name.trim().isEmpty()) {throw new IllegalArgumentException("姓名不能为空");}this.name = name;}public int getAge() {return age;}public void setAge(int age) {if(age < 0 || age > 150) {throw new IllegalArgumentException("年龄不合法");}this.age = age;}
}

4. 封装的优势

  • 提高安全性:防止外部代码直接修改对象内部状态
  • 易于维护:内部实现修改不影响外部调用
  • 增强可扩展性:可以在方法中添加额外逻辑(如验证)
  • 隐藏复杂性:使用者无需了解内部实现细节

二、继承(Inheritance)

1. 继承的概念

继承是面向对象编程的第二大特性,它允许一个类(子类)基于另一个类(父类)来构建,继承父类的属性和方法。

2. 继承的实现

// 父类
class Animal {private String name;public Animal(String name) {this.name = name;}public void eat() {System.out.println(name + "正在吃东西");}
}// 子类
class Dog extends Animal {public Dog(String name) {super(name); // 调用父类构造方法}public void bark() {System.out.println("汪汪叫");}
}

3. 继承的特点

  • 单继承:Java只支持单继承(一个子类只能有一个直接父类)
  • 传递性:继承关系可以传递(A继承B,B继承C,则A也继承C)
  • 构造方法:子类构造方法必须先调用父类构造方法(super())
  • 方法重写:子类可以重写(override)父类的方法

4. 方法重写规则

  • 方法名、参数列表必须相同
  • 返回类型可以相同或是父类返回类型的子类
  • 访问权限不能比父类更严格
  • 不能抛出比父类更宽泛的异常

5. super关键字

  • super.成员变量:访问父类的成员变量
  • super.成员方法():调用父类的成员方法
  • super():调用父类的构造方法

三、多态(Polymorphism)

1. 多态的概念

多态是面向对象编程的第三大特性,它指的是同一操作作用于不同对象,可以有不同的解释,产生不同的执行结果

2. 多态的实现条件

  1. 继承关系:存在继承关系的类
  2. 方法重写:子类重写父类的方法
  3. 向上转型:父类引用指向子类对象

3. 多态的类型

(1) 编译时多态(方法重载)
class Calculator {public int add(int a, int b) {return a + b;}public double add(double a, double b) {return a + b;}
}
(2) 运行时多态(方法重写)
class Animal {public void makeSound() {System.out.println("动物发出声音");}
}class Cat extends Animal {@Overridepublic void makeSound() {System.out.println("喵喵喵");}
}class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("汪汪汪");}
}public class Test {public static void main(String[] args) {Animal myAnimal = new Cat(); // 向上转型myAnimal.makeSound(); // 输出"喵喵喵"myAnimal = new Dog(); // 向上转型myAnimal.makeSound(); // 输出"汪汪汪"}
}

4. 多态的应用场景

  • 接口回调:通过接口引用调用不同实现类的方法
  • 集合中的多态:List list = new ArrayList()
  • 方法参数多态:方法参数声明为父类类型,可接受所有子类对象

5. instanceof运算符

用于检查对象是否是特定类或其子类的实例

if (myAnimal instanceof Dog) {Dog myDog = (Dog) myAnimal; // 向下转型myDog.bark();
}

四、三大特性综合关系

  1. 封装是基础:封装数据和方法,形成独立的类
  2. 继承是手段:通过继承建立类之间的关系
  3. 多态是表现:通过多态展现不同对象的特性

五、常见面试问题

Q1: 重载(Overload)和重写(Override)的区别?

区别点重载重写
发生位置同一个类中父子类之间
方法名相同相同
参数列表必须不同必须相同
返回类型可以不同相同或是子类
访问修饰符无限制不能比父类更严格
异常无限制不能抛出更宽泛的异常

Q2: 为什么Java不支持多继承?

为了避免"菱形继承"问题(即一个类继承自两个具有相同方法的父类时产生的二义性)。Java通过接口实现类似多继承的功能。

Q3: 构造方法能否被重写?

不能。构造方法不是成员方法,不能被重写。子类构造方法必须调用父类构造方法(显式或隐式)。

六、最佳实践建议

  1. 封装原则

    • 所有属性尽量私有化
    • 只在必要时提供getter/setter
    • 在setter方法中添加验证逻辑
  2. 继承原则

    • 遵循"is-a"关系设计继承
    • 避免过深的继承层次(一般不超过3层)
    • 考虑使用组合代替继承
  3. 多态原则

    • 优先使用接口编程
    • 避免滥用instanceof
    • 方法参数尽量使用父类/接口类型

通过合理运用封装、继承和多态这三大特性,可以构建出高内聚、低耦合的面向对象程序,提高代码的可维护性和扩展性。


文章转载自:

http://pcbXQKBP.jzkLb.cn
http://LuCPqTVH.jzkLb.cn
http://VjS13yu0.jzkLb.cn
http://suaq9jQW.jzkLb.cn
http://4ZfxV9EX.jzkLb.cn
http://bINtZbov.jzkLb.cn
http://flOgZGRt.jzkLb.cn
http://H7dP1AOd.jzkLb.cn
http://tb5c7pVV.jzkLb.cn
http://nxbJWM9e.jzkLb.cn
http://wfEz408c.jzkLb.cn
http://PBvbCGyg.jzkLb.cn
http://B0kPvpix.jzkLb.cn
http://D0ZkHBJp.jzkLb.cn
http://XbVHRcJk.jzkLb.cn
http://5kICRJz9.jzkLb.cn
http://Zm1WRYNk.jzkLb.cn
http://zjhLognN.jzkLb.cn
http://5in6sWhg.jzkLb.cn
http://ydXri0Z3.jzkLb.cn
http://ftO1bKXc.jzkLb.cn
http://xyhaimzE.jzkLb.cn
http://0k6SbsJo.jzkLb.cn
http://cyHJUQN3.jzkLb.cn
http://cUPkO2eE.jzkLb.cn
http://AJnweYKj.jzkLb.cn
http://ENErCIjj.jzkLb.cn
http://H1rEoE5E.jzkLb.cn
http://bfjtNVx2.jzkLb.cn
http://HvJJuXJ9.jzkLb.cn
http://www.dtcms.com/wzjs/704201.html

相关文章:

  • pdf怎么做电子书下载网站禄丰网站建设
  • 怎么样做好网站运营南阳市建网站公
  • 对网站做数据统计的目的是什么传奇免费网站建设
  • wordpress快速仿站教程网站名称备案
  • 河北省建设工程教育网站建网站在哪里做广告
  • 网站,商城,app 建设有新的wordpress更新是英文版
  • 中英语网站制作方法框架型网站
  • 怎么做网站企业介绍东莞代理公司注册
  • 企业网站建设排名重庆网站排名
  • 福永网站优化网站建设三方协议
  • 网站建设学习内容汝阳网站建设
  • 简单网站首页怎么做网站规划 设计 制作 发布与管理过程
  • 给网站平台做推广叫什么安阳信息网
  • 东莞网站建设方案服务营销型网站特征
  • 美容手机网站模板电子商务网站订单功能
  • 移动网站功能wordpress 新闻发布
  • 网站安全建设方案例文做网站怎么接业务
  • 北京网站建设管庄阳新网站建设
  • 服务器部署php网站银川百度做网站多少钱
  • 织梦模板网站源码下载做网站需完成的软件
  • 怎么整理网站网站的seo是什么意思
  • 网站项目建设策划书潮州网站制作
  • 大型电商网站开发成本圣亚科技网站案例
  • 个人网站怎么做微商wordpress 收费主题下载
  • 什么是一学一做视频网站建设银行怎么招聘网站
  • 成长厉程网站建设网站学什么时候开始
  • 做网站有必要注册商标吗网站开发属于IT行业
  • 厦门营销型网站建设网站需要备案
  • wordpress文章页seo设置东莞关键词优化排名
  • 如何建立像淘宝一样的网站有赞微商城小程序