正文
水果超市java代码 水果超市用例图
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
java程序下拉列表设计
效果图
参考代码
import java.awt.event.*;
import java.util.Vector;
import javax.swing.*;
public class Demo extends JFrame implements ActionListener {
JButton btn;
VectorString vector=new VectorString();
JComboBoxString jcb;
public Demo() {
vector.add("公斤");
vector.add("每个");
vector.add("每盒");
JLabel jl = new JLabel("单位");
jcb = new JComboBoxString(vector);//可以传入一个数组或者一个Vector链表,对下拉框进行初始化
btn=new JButton("获取下拉框的文字");
btn.addActionListener(this);
JPanel jp = new JPanel();
jp.add(jl);
jp.add(jcb);
jp.add(btn);
add(jp);
setSize(300, 200);
setLocationRelativeTo(null);
setTitle("下拉框Demo");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Demo().setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(this, (String)jcb.getSelectedItem());
}
}
flash as2.0与3.0功能上有什么差异?
首先说下as2,as2实际上是as1水果超市java代码的升级版水果超市java代码,引入一面向对象的概念水果超市java代码,但并不是完全面向对象的语言,只是在编译过程中支持OOP语法。as2的面向对象虽然不全面,但是却是首次将OOP带到水果超市java代码了FLASH,而AS3是一个完全基本OOP的标准化面向对象语言,最重要的就是as3不是as2的简单升级,而完全是两种思想的语言。可以说,as3全面采用了面向对象的思想,而as2则仍然停留在面向过程阶段,举个例子,就像VB和C#的感觉。
所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。
在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手枪,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。
as2与as3的部分区别,只说一些大的区别,小的不同太多,就不谈了:
1.运行时异常机制处理,这个刚才说过了。
2.事件机制,这也是很多人拿起as3就不知所措的原因,初学者会发现连一个按钮点击的方法都写不出来。实际上as3的事件机制采用的是监听的方式,和as2onClipEvent不同,as3里所有的事件都是需要触发器,监听器,执行器三种结构的,这样做的好处就是使得这个语言非常的坚强,非常大标准化。不像as2,奇形怪状的代码漫天飞,可以这样写,也可以那样写,代码变得繁复难懂,可读性太差,执行效率也大大降低。要特别说明的是,as3的所有事件都直接继承event对象,而event是直接继承自BOSS类object,结构多么完美。所以在as3中,所有的事件都继承自相同的父亲,结构相同,提高了重用性。
3.封装性,这是as3与as2最大的不同,as3引入了封装的概念,使得程序安全性大大提高,各个对象之间的关系也通过封装,访问控制而得以确定,避免了不可靠的访问给程序带来的意外产生。
4.XML,我觉得这是最令人激动人心的改变,现在as3程序员可以很轻松也很自豪的说,我们是使用XML人群中最快乐的人。AS2时代对XML的存取仍然需要解析,而AS3则创新的将XML也视作一个对象,存取XML就像存取普通对象的属性一样方便,用点语法就可以,无疑大大提高了效率。
(写了这么多,如果楼主不给分,我就死给你看水果超市java代码!)
5.最关键的一点,容器的概念,AS3采用了容器的思想,告别了as2一个MovieClip打天下的局面。对于as2程序员来说,可能不能理解,我mc用的好好的,干嘛不让我用啊。但是当你真正的了解as3的思想的时候,当你真主的体会到OOP的好处的时候,你会觉得as3的容器的思想的完全正确的。as2时代,我们做什么都用mc,而as2时代的mc也是直接继承自object,这给了mc极大的权限,极其多大方法属性,而有时我们只需要放一个背景图,这样做就造成了极大的浪费。说实在话as2和as3比起来就是浪费之神,所以as2编出的swf绝对比as3编译出来的swf要大上几倍。as3把所有你用到的显示对象都分开,mc的属性方法都被瓜分开来,举个例子,你去水果超市买水果,就肯定比直接去大型超市买要方便,更节约时间,时间就是金钱,那就是很大的节省。
java工厂模式,懂的人进
举两个例子以快速明白Java中的简单工厂模式:
女娲抟土造人
话说:“天地开辟,未有人民,女娲抟土为人。”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面。
女娲造人,这就是简单工厂模式的应用。
首先,在这个造人的思想里面,有几个重要的角色:女娲本身、抽象的人的概念和女娲所造出的一个个具体的人。
1.)女娲是一个工厂类,也就是简单工厂模式的核心角色。
2.)具休的一个个的人,包括张三,李四等。这些人便是简单工厂模式里面的具体产品角色
3.)抽象的人是最早只存在于女娲的头脑里的一个想法,女娲按照这个想法造出的一个个具体的人,便都符合这个抽象的人的定义。换言之,这个抽象的想法规定了所有具体的人必须都有的接口(特征或者功能)
其UML类图出下所示:
理解了上面的这些东西,再来理解下面的例子,对照理解,相信看完这篇文章,便对java简单工厂模式有一个很好的理解:
有一个农场公司,专门向市场销售各类水果,在这个系统里需要描述下列水果:
葡萄 Grape
草莓 Stuawberry
苹果 Apple
水果与其他植物不同,最终可以采摘食用,那么一个自然的做法是建立一个各种水果都适用的接口,以便与其他农场里的植物区分开来,
此时,则是为水果类声明了一个接口,表现在代码上:
1 public interface Fruit {
2 // 生长
3 void grow();
4 // 收获
5 void harvest();
6 // 种植
7 void plant();
8 }
9
10
水果接口规定出所有的水果必须实现的接口,包括任何水果类必须具备的方法plant(),grow(),和harvest();
Apple类是水果类的一种,因此它实现了水果接口所声明的所有方法。另处,由于苹果是多年生植物,因此多出一个treeAge性质,描述苹果的树龄。代码如下所示:
package fac;
public class Apple implements Fruit { // 通过implements实现接口Fruit
private int treeAge;
public void grow() {
log( " Apple is growing " );
}
public void harvest() {
log( " Apple has been harvested " );
}
public void plant() {
log( " Apple ha been planted " );
}
public static void log(String msg) {
System.out.println(msg);
}
public int getTreeAge() {
return treeAge;
}
public void setTreeAge( int treeAge) {
this .treeAge = treeAge;
}
}
同理,葡萄 Grape:
package fac;
public class Grape implements Fruit{
private boolean seedless;
public void grow(){
log("Grape is growing.");
}
public void harvest(){
log("Grape has been harvested");
}
public void plant(){
log("Grape ha been planted");
}
public static void log(String msg){
System.out.println(msg);
}
public boolean isSeedless() {
return seedless;
}
public void setSeedless(boolean seedless) {
this.seedless = seedless;
}
}
草莓 Stuawberry:
package fac;
public class Strawberry implements Fruit{
public void grow(){
log("Strawberry is growing");
}
public void harvest(){
log("Strawberry has been harvested");
}
public void plant(){
log("Strawberry has been planted");
}
public static void log(String msg){
System.out.println(msg);
}
}
农场园丁也是系统的一部分,由一个类来代表,FruitGardener类,代码如下:
package fac;
public class FruitGardener{
public static Fruit factory(String which)throws Exception{
if(which.equalsIgnoreCase("apple")){
return new Apple();
}else if(which.equalsIgnoreCase("strawberry")){
return new Strawberry();
}else if (which.equalsIgnoreCase("grape")){
return new Grape();
}else{
throw new Exception("Bad fruit request");
}
}
}
这时有人来果园玩,和园丁说,给我们介绍下你的水果吧。于是园丁:
package fac;
public class People {
public static void main(String[] args) throws Exception {
FruitGardener fg=new FruitGardener();
Fruit ap=fg.factory("Apple");
ap.grow();
Fruit gp=fg.factory("Grape");
gp.plant();
Fruit dd=fg.factory("ddd");//抛出Bad fruit request异常
}
}
(注:以上代码在JDK5.0,Myeclise3.2下编译通过)
类比两个例子,园丁就相当于女娲,而水果就相当于具体的人,接口水果类就相当于存在于类女娲思想里的人的抽象概念。
由以上两个例子可得出,简单工厂模式需要由以下角色组成:
接口
接口的实现类(简单工厂模式里面的具体产品角色)
工厂
理解了以下两个例子,再来看第三个例子:
注意对比以下三个实例的不同
实例1:
package org.jzkangta.factorydemo01;
//定义接口
interface Car{
public void run();
public void stop();
}
//具体实现类
class Benz implements Car{
public void run(){
System.out.println("Benz开始启动了。。。。。");
}
public void stop(){
System.out.println("Benz停车了。。。。。");
}
}
//具体实现类
class Ford implements Car{
public void run(){
System.out.println("Ford开始启动了。。。");
}
public void stop(){
System.out.println("Ford停车了。。。。");
}
}
//工厂
class Factory{
public static Car getCarInstance(){
return new Ford();
}
}
public class FactoryDemo01 {
public static void main(String[] args) {
Car c=Factory.getCarInstance();
c.run();
c.stop();
}
}
实例二:
package fac;
//定义接口
interface Car{
public void run();
public void stop();
}
//具体实现类
class Benz implements Car{
public void run(){
System.out.println("Benz开始启动了。。。。。");
}
public void stop(){
System.out.println("Benz停车了。。。。。");
}
}
class Ford implements Car{
public void run(){
System.out.println("Ford开始启动了。。。");
}
public void stop(){
System.out.println("Ford停车了。。。。");
}
}
//工厂
class Factory{
public static Car getCarInstance(String type){
Car c=null;
if("Benz".equals(type)){
c=new Benz();
}
if("Ford".equals(type)){
c=new Ford();
}
return c;
}
}
public class FactoryDemo02 {
public static void main(String[] args) {
Car c=Factory.getCarInstance("Benz");
if(c!=null){
c.run();
c.stop();
}else{
System.out.println("造不了这种汽车。。。");
}
}
}
实例三:
interface Car{
public void run();
public void stop();
}
class Benz implements Car{
public void run(){
System.out.println("Benz开始启动了。。。。。");
}
public void stop(){
System.out.println("Benz停车了。。。。。");
}
}
class Ford implements Car{
public void run(){
System.out.println("Ford开始启动了。。。");
}
public void stop(){
System.out.println("Ford停车了。。。。");
}
}
class Toyota implements Car{
public void run(){
System.out.println("Toyota开始启动了。。。");
}
public void stop(){
System.out.println("Toyota停车了。。。。");
}
}
class Factory{
public static Car getCarInstance(String type){
Car c=null;
try {
c=(Car)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();//利用反射得到汽车类型
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return c;
}
}
public class FactoryDemo03 {
public static void main(String[] args) {
Car c=Factory.getCarInstance("Toyota");
if(c!=null){
c.run();
c.stop();
}else{
System.out.println("造不了这种汽车。。。");
}
}
}
对比三个实例:
实例一,虽然实现了简单工厂,但每次只能得到一种汽车,如果我们想换一种,就得修改工厂,太不方便,而实例二则改变了这种情况,便得我们可以按照我们的需要更换汽车,但我们所更换的汽车必须是实现类中有的,如果我们想要增加一种汽车的时候,我们还是得更改工厂,通过改进,实例三利用反射机制,得到汽车类型,这样当我们需要增加一种新的汽车时,就无需要再修改工厂,而只需要增加要实现的类即可。也就是说要增加什么样的汽车直接增加这个汽车的类即可,而无需改变工厂。从而达到了工厂分离的效果。
水果店属于什么企业类型?
水果店属于什么企业类型要看多大规模。一般大型水果超市是中小型零售业。小果铺是个体工商业,私营企业。
1.水果店属于零售业中一种以实行自助服务和集中式一次性付款为特点的销售方式。水果店属于零售行业,其实也属于服务行业,水果店面对的客户群体一般都是周边小区居民。如果你的水果品质好,你的销售服务好,比如有配送服务等等,那么销售和销量都会很好的。
2.水果店是属于私营经济体系,营业执照上行业类别应写明个体工商户。水果店的经营范围大体分为两类。一类是水果零售模式。一类为水果批发模式。针对于不同下销售模式,在申请营业执照时需要填写不同的内容。水果店的零售经营范围仅限于水果的零售活动,而申领批发执照的,还可以通过批发执照进行零售活动。
拓展资料:
1.个体工商户是从事工商业经营的自然人或家庭。自然人或以个人为单位,或以家庭为单位从事工商业经营,均为个体工商户。根据法律有关政策,可以申请个体工商户经营的主要是城镇待业青年、社会闲散人员和农村村民。此外,国家机关干部、企事业单位职工,不能申请从事个体工商业经营。个体工商户的登记机关是县以上工商行政管理机关。个体工商户经核准登记,取得营业执照后,才可以开始经营。
2.自然人从事个体工商业经营必须依法核准登记。在依法核准登记的范围内,个体工商户享有从事个体工商业经营的民事权利能力和民事行为能力。个体工商户的正当经营活动受法律保护,对其经营的资产和合法收益,个体工商户享有所有权。个体工商户可以在银行开设账户,向银行申请贷款,有权申请商标专用权,有权签订劳动合同及请帮工、带学徒,还享有起字号、刻印章的权利。
移动个人简历模板
移动个人简历模板【一】
姓名:李小小
年龄: 19
户口所在: 梅州 国籍: 中国
婚姻状况: 未婚 民族:
培训认证: 未参加 身高: 161 cm
诚信徽章: 未申请 体重: 54 kg
人才测评: 未测评
我的特长:
教育背景
毕业院校: 广东技术师范学院
最高学历: 本科
专 业 一: 通信工程 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
求职意向
人才类型: 应届毕业生
应聘职位: 移动通信工程师:,通信技术工程师:,无线通信工程师:
工作年限: 1 职称:
求职类型: 实习 可到职日期: 一个月
月薪要求: 2000--3500 希望工作地区: 天河区,,
工作经历
公司名称:起止年月:2009-04 ~ 2009-04 凌轩珠宝首饰设计有限公司
公司性质:所属行业:
担任职务:统计文员
工作描述:主要使用珠宝通远程系统,统计与录入相关数据,完成珠宝计价流程;银版开单,生产过程跟踪、出货;完成具体指定的数据统计分析工作;协调管理统计信息系统,维护和更新统计数据平台; 做好统计资料的保密和归档工作。
离职原因:
公司名称:起止年月:2008-01 ~ 2015-02海洋贸易有限公司
公司性质:所属行业:
担任职务:行政文员兼前台
工作描述:主要负责前台接待、收发货物、考勤核算;讯息处理,工作资料的保存、分类归档;采购、管理、发放各种办公用品;收发邮件、传真,及维护各种办公设备等等。完成公司、各部门交办的事项,追踪结果及时汇报。
离职原因:
公司名称:起止年月:2006-03 ~ 2007-12雨阳汽车用品有限公司
公司性质:所属行业:
担任职务:出纳文员
工作描述:主要负责管理对发票与支票的使用,做好公司日常生活用品采购开支;处理对账、收账,现金收发等有关于财务方面的工作,能做到对各项账务处理得清晰有条理;对工作爱岗敬业,与同事之间相处融洽团结协作。
离职原因:回家
志愿者经历
语言能力
外语: 英语 良好 粤语水平:
其它外语能力:
国语水平:
详细个人自传
本人乐观向上,领悟力强,工作认真负责,耐心细致,学习接受能力佳,有较强的组织能力及团队合作精神,能在短时间内适应新的工作环境,并会对工作付出全部精力和热情!善于从工作中总结、学习、提高自己。假若贵公司能给我提供一个展现的机会,我将尽全力为贵公司创造财富与实现文化价值!
移动个人简历模板【二】
☆ 个人信息
姓名:
性别:女
出生年月:1989年2月
身高:155cm
籍贯:漳州市
居住地:漳州市长泰县开发区
民族:汉
政治面貌:团员
求职类型:应届毕业生
毕业院校:闽西职业技术学院
专业:移动通信技术
移动电话:
家庭电话:
E_Mail:
☆获奖情况
2006-2007第一学期获得三等奖学金2007-2008第二学期获得三等奖学金曾获第二届学生职业技能大赛“JAVA程序设计”三等奖曾多次获得“文明舍员”称号
☆ 社会实践
2007.7-2007.8元亨机电有限公司做钟点工
2008.1-2008.2铭丰水果超市做收银员
2008.7-2008.8发现饭店做钟点工
曾在钟爱一生婚纱摄影店做钟点工
曾在富安娜纺织做钟点工
☆ 技能水平
获得全国计算机高新技术office证 能够熟练使用office软件熟悉SQL语言,JAVA语言编程 具备英语听、说、写基本能力,能够进行英语读写和一般翻译
☆ 自我评价
本人能吃苦耐劳、有责任心、为人热情、真诚、坦率
☆ 求职意向
助理、文秘、后勤类等方面
移动个人简历模板【三】
姓名: xxx
国籍: 中国
民族: 汉族
目前所在地: 广州
户口所在地: 广东省
婚姻状况: 未婚
年龄: 32 岁
求职意向
人才类型: 普通求职?
应聘职位: 电子/邮电/通讯类:通信技术工程师 电子/邮电/通讯类 移动通信工程师 计算机类 电信网络工程师
工作年限: 8 职称: 初级
求职类型: 全职 可到职- 随时
月薪要求: 面议
希望工作地区: 广州 深圳 韶关
工作经历
2007/07—至今:北京追客技术有限公司
技术部 项目经理
负责建设及维护汽车无线追踪定位网络项目。
2005/03—至今:nec通讯(中国)有限公司广州分公司
移动解决方案事业部 电信网络工程师
本人在nec公司从事3g w-cdma设备的安装调试及网络性能测试工作,主要负责rnc及node b设备。
工作经历:
1.2005年初参与建设湖北电信的3g试验网及进行网络功能测试。
2.2005年底赴香港从事香港和记电讯公司的3g网络维护工作。
3.在2005年北京的国际通信展上负责nec展台的3g设备展览。
4.2006年,参与建设湖南移动的3g试验网及进行网络功能测试。
5.2006年在广东电信研究院进行 nec hsdpa 功能测试。
熟悉3gpp的协议,及rnc和node b 设备的安装维护.
2004/03—2005/03:广州宽带主干网络有限公司
工程部 通讯工程项目管理
本人在宽带公司曾负责管理了以下项目:
1.广州市越秀区教育网建设工程.
2.广州市建设工程。
3.广州市公安网建设工程。
4.广州市发展集团总部大楼弱电及通讯系统安装工程。
5.广州市金桥酒店弱电及通讯系统安装工程。
积累了一定的项目管理经验。
1999/11—2004/03:广东联通韶关分公司
工程部 无线通信工程师
1.曾参与广东联通gsm二期至六期的无线网络建设工作,主要
负责基站设备的安装调试,有丰富的现场工作经验。
2.负责建设和维护广东联通韶关分公司1001客服网络系统。
教育背景
毕业院校: 中国人民解放军广州通信学院
最高学历: 大专 毕业- 1999-07-01
所学专业: 计算机通信
受教育培训经历: 1996.9-1999.7 中国人民解放军广州通信学院 计算机通信专业 大专
主要学习电信网络系统中的基础网络设施及互联网通信技术。
语言能力
外语: 英语 良好
国语水平: 精通 粤语水平: 精通
能力专长
无线通信工程师,曾在广东联通和广州宽带主干网络有限公司及nec通讯公司从事无线通讯设备的安装调试和维护工作达八年,对各种通讯设备安装调试和测试有丰富的经验,可经常出差。
求一本好点的FLASH的教程。本人现在想学习一下FLASH制作,另外现在要重头开始学应该学习哪一个版本好?
你学过JavaScript你就感觉as很简单的,他们很相似的。我是学动漫的,首先我们的课是先学JavaScript然后我感觉学as是真的很简单的。ActionScript 动作脚本是遵循 ECMAscript第四版 的 Adobe Flash Player 运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理以及其他功能。
ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。
呵呵
你看一下面的几个问答吧
问:我最近想去学flash制作,在网上找了找,发现有很多制作软件,如flash MX,flash MX2004和flash cs3 Pro,哪款比较好啊?
答:
2000年 flash 5.0
2002年 flash mx (就是flash 6.0)
2004年 flash mx2004 (就是flash 7.0)
2005年 flash 8.0
2006年 flash cs3 (就是flash 9.0)
2008年 flash cs4 (就是flash 10.0)
目前的最新版本是flash cs4 功能非常强大,不仅支持骨骼动画,还支持3维等等,verycd上有视频教程,可以去学习一下。
不过初学的话,个人建议你从flash cs3开始,以便今后玩flash cs4,因为他们的操作性很相似,Flash 8现在虽然还是很多人在用,但是已经渐渐被新软件的新功能所取代。
FLASH CS3的好用之处::
1.cs3是ADOBE收购micromedia后的大作,无论从动画设计上,还是程序语言上都有质的飞跃。比如钢笔功能更加强大,超级强大的绘图功能,这些都让矢量图制作者提高了效率,使用更方便。
2.FLASH CS3引入了面向对象的AS3语言,使得AS不在是一个简简单单的脚本语言,而摇身变成一种强大的高级程序语言。另外,FLASH CS3也全面支持AS之前的版本,从AS1到AS2均支持。
3.作为初学者,因为没有基础,不存在用惯一个版本的软件,用新版本时要重新熟悉的问题,所以应尽量选择最新版本的软件进行学习,因为时代是在进步的,老版本的软件,学完了也就淘汰了,再学新的,还得重新熟悉界面及操作习惯。
4.目前由于flash cs4 10月份刚刚推出,目前CS4的教材并不多也不系统,所以建议以FLASH CS3作为学习的开始,而且FLASH CS4的界面和CS3差不多,只是加了些新功能。
问:怎样学会flash编程,要有什么基础,要学c语言吗,哪里有教程啊?该怎么学啊??
答:
如果你只是了解一下,网上的视频教程很多,可以去看一看。
但是如果你是很想学会,那么我建议你,要学习一门知识,就必须看系统的教材。因此不推荐看视频教程,网上的视频教程虽然很多,但是都很难系统性的教会你代码的结构、编程的思想。所以我的建议是买书学习。最好不要看电子书,个人觉得,看电子书的人,都喜欢跳着看,这样看就失去了意义。这样看下来,好像学会了,其实什么原理都没搞懂。
要真正的买一本书,一页一页的翻着看,看一遍不够,一本书至少3遍甚至n遍。还要多加练习。学习编程,首先从hello world开始,然后就是要每天写,经常写,这样才有进步。
很多人也有这样的担心,怕自己没有语言基础,例如没有学习过C等。其实大可不必担心,语言只是一种工具而已,目前的主流语言就好象同素异形体一样,看似有区别,其实都差不多。这就好像你会使用WIN98,升级到了WIN XP,你也不会说,连怎么打开文件都要重头学习一样。学习编程的关键是学习编程的思想,所以好的书教你怎么理解编程思想,差的书只是叫你怎么写代码,其中区别很大。
AS2的书,这里不做推荐了,我也没看过什么好点的书,我学AS2完全就是看帮助学会的,主要是有JS基础。
这里推荐一本AS3的书:《action script3.0殿堂之路》
问:我是老程序员了,对Javascript和Java都比较擅长,现在想学Flex,但不知道有什么经典一点的书籍?
答:
1.初学者,推荐《action script3.0殿堂之路》,也有人推荐《as3权威宝典》个人觉得那书写的不行。
2.flex的话,推荐《flex第一步》
3.as3语言掌握的7788了以后,可以去看以下一些书籍
4.实用书籍:
Action Script3.0 Cook Book —— 类似帮助手册的书籍
Action Script3.0 设计模式 —— 一本讲述程序设计思想的书籍,强烈推荐
问:flash as2.0 与 as3.0的本质区别?
答:
首先说下as2,as2实际上是as1的升级版,引入一面向对象的概念,但并不是完全面向对象的语言,只是在编译过程中支持OOP语法。as2的面向对象虽然不全面,但是却是首次将OOP带到了FLASH,而AS3是一个完全基于OOP的标准化面向对象语言,最重要的就是as3不是as2的简单升级,而完全是两种思想的语言。可以说,as3全面采用了面向对象的思想,而as2则仍然停留在面向过程阶段,举个例子,就像VB和C#的对比。
所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。
在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手枪,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。
as2与as3的部分区别,只说一些大的区别,小的不同太多,就不谈了:
1.运行时异常机制处理,这个刚才说过了。
2.事件机制,这也是很多人拿起as3就不知所措的原因,初学者会发现连一个按钮点击的方法都写不出来。实际上as3的事件机制采用的是监听的方式,和as2时代的onClipEvent不同,as3里所有的事件都是需要触发器,监听器,执行器三种结构的,这样做的好处就是使得这个语言非常的坚强,非常的标准化。不像as2,奇形怪状的代码漫天飞,可以这样写,也可以那样写,代码变得繁复难懂,可读性太差,执行效率也大大降低。要特别说明的是,as3的所有事件都直接继承event对象,而event是直接继承自大老板Object类,结构多么完美。所以在as3中,所有的事件都继承自相同的父亲,结构相同,提高了重用性。
3.封装性,这是as3与as2最大的不同,as3引入了封装的概念,使得程序安全性大大提高,各个对象之间的关系也通过封装,访问控制而得以确定,避免了不可靠的访问给程序带来的意外产生。
4.XML,我觉得这是最令人激动人心的改变,现在as3程序员可以很轻松也很自豪的说,我们是使用XML人群中最快乐的人。AS2时代对XML的存取仍然需要解析,而AS3则创新的将XML也视作一个对象,存取XML就像存取普通对象的属性一样方便,用点语法就可以,无疑大大提高了效率。
5.最关键的一点,容器的概念,AS3采用了容器的思想,告别了as2一个MovieClip打天下的局面。对于as2程序员来说,可能不能理解,我mc用的好好的,干嘛不让我用啊。但是当你真正的了解as3的思想的时候,当你真主的体会到OOP的好处的时候,你会觉得as3的容器的思想的完全正确的。as2时代,我们做什么都用mc,而as2时代的mc也是直接继承自object,这给了mc极大的权限,极其多的方法属性,而有时我们只需要放一个背景图,并不需要它动,这样做就造成了极大的浪费。说实在话as2和as3比起来就是浪费之神,所以as2编出的swf绝对比as3编译出来的swf要大上几倍。as3把所有你用到的显示对象都分开,mc的属性方法都被瓜分开来,举个例子,你去水果超市买水果,就肯定比直接去大型超市买要方便,更节约时间,时间就是金钱,那就是很大的节省。
当然还有许许多多的不同,比如程序执行机制,设计模式,结构框架等等,这里就不在一一赘述。
问:怎么才能成为编程高手?
答:
可以说,学会编程并不难,怎么才能写出好的程序,这是很多人所困惑的事情,我有时候也是左思右想,觉得自己写出来的东西太在是太垃圾了。那么真正的高手他们在做些什么呢?他们到底因为什么才能成为高手呢?
其实,我们很多人都仅仅停留在会写程序的阶段,并没有去研究,一个程序怎么写才算是合理的,什么样的结构,才是最完善的,什么样的布局才是可扩展的。什么样的代码才是最高效的。而这正是高手花功夫去研究的事情,也是为什么高手能做的更好的原因。
我总结了一下,觉得以下才是一个程序员应该思考的路:
1.第一类人:会写程序,这没什么,人人都能办到。(70%的程序员都在这里)
2.第二类人:有一定的结构思想,能做设计结构上的调整。能走到这一步,应该可以算真正入门了。(15%的程序员在这里,很不幸,本人也在这里。)
3.第三类人:熟练应用各种设计模式,到了这里,才算涉足高级编程领域。这样的人才能算高手。(10%左右,我想黑羽同志应该属于这个级别)
4.第四类人:有算法分析和创意思维,能做到这一步的人,写出来的程序就不叫程序了,叫伟大发明!(5%左右,微软和谷歌的专家们在这里)
5.第五类人:这一类人是我不敢想象的,已经超出我的思考范畴了。(趋向0%)
关于水果超市java代码和水果超市用例图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。