重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个问题应该是不难的,思路提供一下仅供参考
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业盐城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
面向对象的封装,就是类元素的的性质设置为private,对类元素的访问有专门的方法提供访问
继承,就是家禽类是一个大类,然后鸡鸭的类都可以继承家禽的类,不管接受什么家禽都能喂食这个就是说,家禽类里有个喂食的通用方法,
多态是说当接受的参数不同的时候,可以使用同一个方法名称,也就是方法名称相同但是参数不同接受的是鸡,调用的是鸡生蛋的显示方法
java字符串数组合并,可以使用array.copy复制方法,如下代码:
package com.qiu.lin.he;
import java.text.ParseException;
import java.util.Arrays;
public class Ceshi {
public static void main(String[] args) throws ParseException {
String[] str1 = { "J", "a", "v", "a", "中" };
String[] str2 = { "如", "何", "把", "两", "个", "数", "组", "合", "并", "为",
"一", "个" };
int strLen1 = str1.length;// 保存第一个数组长度
int strLen2 = str2.length;// 保存第二个数组长度
str1 = Arrays.copyOf(str1, strLen1 + strLen2);// 扩容
System.arraycopy(str2, 0, str1, strLen1, strLen2);// 将第二个数组与第一个数组合并
System.out.println(Arrays.toString(str1));// 输出数组
}
}
运行结果如下:
public class Day31 {
public static void main(String[] args) {
Animal ch=new Chicken("喔喔","芦花鸡","虫子","打鸣");
Animal du=new Chicken("嘎嘎","斑嘴鸭","小鱼虾","游泳");
AnimalAction.script(ch);
AnimalAction.script(du);
}
}
//父类
abstract class Animal{
protected String name,type,hobby,skill;;
protected Animal(String name,String type,String hobby,String skill){
this.name=name;
this.type=type;
this.hobby=hobby;
this.skill=skill;
};
protected void nameFun(){
System.out.println("我叫:"+name+"是一只"+type+"!");
}
protected void hobbyFun(){
System.out.println("我喜欢吃:"+hobby+"!");
}
protected void skillFun(){
System.out.println("我会:"+skill+"!");
}
}
//子类1鸡
class Chicken extends Animal{
public Chicken(String name,String type,String hobby,String skill){
super(name,type,hobby,skill);
}
}
//子类2鸭
class Duck extends Animal{
public Duck(String name,String type,String hobby,String skill){
super(name,type,hobby,skill);
}
}
//调用类;
class AnimalAction{
public static void script(Animal an){
an.nameFun();
an.hobbyFun();
an.skillFun();
}
}
意义很大,但是你的问题本身认识有偏差。
对于前后端分离,认识上有个误区,那就是很多人自称:老早就分离了,全AJAX,使用Angular或者什么什么就可以了。
这个说法是不合适的,打个比方,别人问的是“如何解决家禽把蛋生在水草边的问题?”,但实际上人家养的是鸭子,答题的却是养鸡的,所以回答“不让去水边就行了”,这显然不在点子上。
这两年业界说的前后端分离,是限于偏展示类的系统(用A代替),而不是应用、管控类Web项目(用B代替),在B类项目里,前后端是天然分离的,对此,除了少部分后端开发人员,基本所有人的认识都是一致的。上一段中这样回答的人一般都是只做B类项目,在B类项目里,前后端分离是共识,不需要讨论。
那么,剩下的问题就是讨论A类项目的前后端分离了。这个问题的核心在什么地方呢,在于模板的与数据结合的位置,以及,模板的控制权在谁手里。经过这两年的讨论,基本上我们可以达成的共识就是:模板应当由前端人员去控制,主要原因有两方面:
- 性能优化(尤其是外部资源的管理与发布,请求合并等等)
- 协作的顺畅性(已形成模板的界面片段的返工等问题)
那么,模板到底应该在什么地方跟数据结合?
这个问题就比较折腾了,有部分人尝试像B类项目那样,使用js模板,然后在浏览器端执行,这是存在一些问题的,比如说seo不友好,首屏性能不够,尤其对于首页DOM量很大的电商类网站,差距很明显。
所以还是得把主要的模板放在服务端来执行。在这个过程中,阿里作了一些尝试,那就是引入Node层,在这一层把模板与数据进行合成,然后浏览器拿到的就是生成好的HTML了,但也不是所有HTML都是这么生成好的,还是会有一些内容等到了浏览器之后,再用js去加载和生成。