钢七连实战C3-P1:面向对象编程技术

C3 P1面向对象
实训项目问题:
1.主要是面向过程的C、java贪吃蛇
2.面向对象做小游戏,不含设计模式(大一下学期)
3.实训7天。小游戏+设计模式(大二下学期,软件体系MVC架构,单件,工厂,备忘录)
MVC架构:Model 数据, View显示输出,Control 函数、行为
4.培训班java基础班(大三:达内实验班,同项目2)
5.培训班java进阶提高班(大三:达内实验班,小游戏加多种初级、高级设计模式。有限状态机+状态模式。 
模板方法,策略,观察者模式,命令。 
装饰,适配。 外观,迭代。 
责任链、代理--高级模式。其他软件架构MVP,MVVM)

通用的软件架构+设计模式,不同的技术实现:网页、安卓、python。不同的项目:各种应用软件、网站,各种游戏软件。

学习顺序、学习路线:
1.面向过程:C语言
2.面向对象:java--  底层原理,拓展提高。
3.设计模式:
设计模式的网上教程:
https://www.runoob.com/design-pattern/design-pattern-tutorial.html

一、从一个普通JAVA题,看底层原理的重要性
问题举例:
多个Java对象赋值的时候各不相同,存入数组、列表。输出结果都一样。
答案举例:
Java中对象组成的数组、列表,本质是C++的对象指针构成的数组,每一个元素是指向对象的指针。

难题:面向过程,以函数为单位,做数据结构和算法题
纯C / 纯java/ 纯 Javascript / 纯python
难题:软件设计师,软件架构师,以类为单位,拼搭积木,实现高级功能。
设计模式的题和工程项目

C++ 的类/ java的类/  Javascript的类 / python的类
(1)基本的java例题:

钢七连实战C3-P1:面向对象编程技术

(2)java的难题:
看起来一切正常。

钢七连实战C3-P1:面向对象编程技术

语法都对。怀疑人生的程序。

钢七连实战C3-P1:面向对象编程技术

正确写法。

钢七连实战C3-P1:面向对象编程技术
二、面向对象
综合基本功:C/C++,JAVA,JVM底层原理,面向对象,设计模式,项目应用
面向对象系列教程:底层原理、有难度(30%)--- 简单技术+项目实战(70%)
证据1:西安交大,杭州电子科大,有多少C++的学时(选修、必修),JAVA的学时?
证据2:一个普通JAVA题的解决,证明了C++底层原理的重要。
证据3:其他面向对象技术,python的类,javascript的类。
证据4:java字节码、虚拟机。安卓APP字节码、虚拟机。
证据5:所有优秀小组,做个扫雷,复杂消消乐,植物大战僵尸,联机对战游戏?

C/C++,JAVA,JVM底层原理 不可省略,不可跳过。
钢七连实战培训:让底层原理、高级技术,更容易学会。

C/C++的后续路线只做了解.C#,Qt等技术。

三、怎样检查JAVA开发环境安装正确
1.可以不安装JAVA, 浏览器在线C++编程。

2.怎样安装JAVA,检查是否正确。
(1)推荐使用1.8,或者1.8以上。安装以后的文件夹和路径。
 钢七连实战C3-P1:面向对象编程技术  钢七连实战C3-P1:面向对象编程技术
(2)环境变量配置:
用set命令,查看控制面板/系统的环境变量。
环境变量:JAVA_HOME,CLASSPATH, PATH。教程:
https://blog.csdn.net/renlianggee/article/details/90033964
https://blog.csdn.net/sinat_30973431/article/details/82556821
第1个:JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_60
第2个:CLASSPATH的配置含义:一个”.”代表程序所在的当前路径。
 一个lib文件夹。 lib文件夹下的两个.jar库文件(相当于c语言的库文件)  以英文的分号,分隔。
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\dt.jar;%JAVA_HOME%\tools.jar

钢七连实战C3-P1:面向对象编程技术

   第3个:PATH里增加C:\Program Files (x86)\Java\jdk1.7.0_60\bin
    PATH的含义:

钢七连实战C3-P1:面向对象编程技术

javac:把源代码,编译为字节码(相当于.c编译成目标代码)
java: 启动了虚拟机,执行字节码,运行JAVA程序。
C: 源文件.c编译成目标代码,就是机器指令xx.exe。
双击xx.exe, 运行xx命令,windows执行xx.exe程序。

输入java, javac命令,能看到帮助说明信息。代表安装成功,并且环境变量配置正确。

四、总结
学习顺序:
C++底层原理,提高java基本功。
面向对象的基本技术。
13个设计模式,用于各种项目的开发:
1.单件、工厂模式。
2.状态模式(有限状态机)。 
3.模板方法,策略,观察者模式,命令。 
4.装饰,适配。 外观,迭代。 
5.责任链模式,代理模式。
只要会了状态模式、模板方法,策略,观察者模式,命令,就可以做出扫雷,复杂消消乐,植物大战僵尸,联机对战游戏。