今天的课程是学习对象以及类的定义,和面向对象及面向过程的知识以及swing的使用。
1.对象指的是一个个实体。
类指的是一个个实体的集合。
对象是一个明确的实体,而类是一个虚构的集合。
例如:人是实体,人有不同的特征(性格,性别,姓名等)和行为(吃,喝,睡等)
人类是泛指形形色色各种人的一个大体集合。
2.面向对象和面向过程指的是关注一件事情的重点不一样
面向对象:关注事情的执行者是谁,流程不是关注的重点
面向过程:关注的是执行流程如何,执行者不关注
面向对象:结果不确定性
面向过程:结果确定
例如:△4(执行者)=[ 2 + 2 ](行为过程)
解:面向对象就是4,可以知道4可以分解为[ 1 + 3 ]或者[ 2 +2 ],所以结果只要是由4分解出就行。
面向过程就是4一定解出的是[ 2 + 2 ]这个过程。
△小明(执行者)去吃饭。
解:面向对象的思想就是小明作为执行者,他需要去吃饭,而不关注他吃了什么或者在哪吃,用刀叉还是用筷子吃。
面向过程就是小明吃了什么或者在哪吃,用刀叉还是用筷子吃。关注的是吃的过程。
△小红(执行者)让小明(参与者)请客吃饭。
解:小红是执行者,小明是行为的参与者,执行者让参与者做出某行为,面向对象关注的是执行者本身。面向过程就是参与者是刷卡请客还是现金请客或者请客的地点等过程。
3.面向对象的编程
语法格式:
a.定义属性语法:public 类型 属性名;
b.定义方法的语法:public 返回类型 方法名(参数列表){ }
返回类型:行为执行的结果(无返回,用void)
参数列表:行为执行的前提(定义参数与否和过程有关)
大括号中:行为执行的流程
c.类型:数字 int 字符串string
d.创建对象:类名 对象名=new 类名();
e.给属性赋值:对象名.属性名=值;
f.执行方法:对象名.方法名(值);
例如:
package day02;
public class teacher {
//定义类的特征(属性):[姓名],行为,年龄...........
public String name;
//定义类的行为(方法/函数):[上课],吃饭,玩游戏.........
public void teach(String n){
//执行过程
System.out.println(name+"正在给"+n+"同学上课");
}
}
package day02;
public class MAIN {
//程序的入口,整件事情的操纵者
public static void main(String[] args){
//老师对象:构造一个老师对象
teacher tea = new teacher();
//给姓名属性赋值
tea.name = "chary";
//执行上课行为
tea.teach("tey");
}
}
执行结果:chary正在给tey同学上课
解:构造一个方法,然后设置主函数实现该方法。这就是一个完整的面向对象的行为过程。
4.Swing。
如:
package day02;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
// 登录窗体的实现类
public class LoginFrame {
public static void main(String[] args){
//创建一个窗体对象 JFrame(jdk系统帮我们写好的类)
JFrame jf= new JFrame();
//设置窗体的大小
jf.setSize(180,150);
//设置窗体的标题
jf.setTitle("登录界面");
//设置窗体默认关闭方式;3:立马退出 2:延迟退出
jf.setDefaultCloseOperation(3);
//设置窗体显示在屏幕中间
jf.setLocationRelativeTo(null);
//设置窗体布局
FlowLayout fl = new FlowLayout();
jf.setLayout(fl);
//通过标签对象来添加文字
JLabel label =new JLabel();
label.setText("用户名");
//把label添加到窗体上
jf.add(label);
//添加输入框
JTextField jtf= new JTextField();
//设置输入框的列宽
jtf.setColumns(10);
jf.add(jtf);
System.out.println();
//2.通过标签对象来添加文字
JLabel label1 =new JLabel();
label1.setText(" 密码 ");
//把label添加到窗体上
jf.add(label1);
//添加输入框
JTextField jtf1= new JTextField();
//设置输入框的列宽
jtf1.setColumns(10);
jf.add(jtf1);
//添加按钮
JButton button =new JButton();
button.setText("登录");
jf.add(button);
JButton button1 =new JButton();
button1.setText("注册");
jf.add(button1);
//设置窗体可见,一定放在最后,等窗体的所有属性设置完毕后,再设置可见
jf.setVisible(true);
}
}
解:这是一个登陆界面,需要注意的是记住各个特性的名称,以及熟练的运用。
5.总结
深入浅出,师傅领进门,修行看个人。课后需要多思考多练习,巩固,才能更融会贯通的运用知识,应变各种情况。