面向对象的相关知识以及计算机一些操作的实现实例

1.计算机语言的认识

(1)指导计算机做我们需要它完成的功能即为编程

(2)计算机能识别的语言:C,C++,Java,C#,object,PHP,javascript.等。

(Java语言是一种跨平台、适合于分布式计算的、面向对象的编程语言。)

2.面向对象

面向对象是一种编程语言的思想。

(1)类与对象

类:生活在一些对象的共同点的集合,主观的,以人的意识存在的

对象:生活中一个一个的实体,客观的

例如:小明老师正在给小花补课;

一件事=对象(执行者)+过程。

上述的例子中对象:小明老师—老师类

过程:给小花补课;

(2)面向对象与面向过程的区别

面向对象---关注对象(关注事情的执行者)->>结果不确定(比较灵活)

面向过程---关注过程(关注事情的流程)->>结果确定(比较死板)

3.继承与多态的相关知识点

(1)构造方法

构造方法与普通方法的区别:

普通方法格式:public 返回类型 方法名(参数列表){}

普通方法代码如下:

public void teach(){
  System.out.println("上课1");
 }

构造方法:public 类名 (参数列表){}

说明:构造方法的方法名必须与类名相同;

比如一个老师类的构造方法如下:

public class Teacher {
 //构造方法
 public Teacher(){
  System.out.println("此无参构造方法被调用了");
 }}

作用:构造对象

引用传递指的是对象的地址进行交换,交换地址之后会产生废弃的空间(无法调用),废弃空间将由java虚拟机回收机制回收。

例如:

Teacher tea  = new Teacher("张三"); 
Teacher tea1 = new Teacher();
tea.name = "张三";
 tea1.name = "李四";
tea = tea1; 
 tea1.name = "赵六";
 System.out.println(tea.name);
System.out.println(tea1.name);

该代码的结果为:

李四

李四

tea=tea1;进行的是地址交换,所以之后的tea和tea1所指的地址是相同的,而原有的tea所指的空间则变为废弃的空间。


(2)方法重载

定义:同一个类中,多个方法的方法名相同,参数列表不同(参数个数,参数顺序,参数类型)的方法,则互为重载方法。

例:

public void teach(){
 }
 public void teach(int a){
 }
 public void teach(String a){
 }
 public void teach(String a,int b){
 }
 public void teach(int b,String a){
 }

以上的几个方法互为重载方法。

构造函数也是一种方法所以构造方法也可以重载(创建一个对象,只能调用一个构造函数),主要用于初始化对象的属性。


(3)继承(子类与父类)

关键字:extends

定义:子类继承父类通过extends关键字实现,通过继承,子类可以继承父类的所有的非私有属性和方法。


作用:可以动态得进行拓展类的功能

例:

public class D {
 public String a;
 public void t(){
  System.out.println("测试");
 }
}

public class B extends D{
 
}
上述代码中B类继承了D类,即B类拥有D类中的非私有属性和方法。


(4)方法重写

定义:子类中重写父类的方法。特别注意的是子类中方法名,参数,返回类型必须与父类中的相同。

子类中重新父类方法可以覆盖父类继承过来的函数。

例;

public class D {
 public String a;
 public void t(){
  System.out.println("测试");
 }
}

public class A extends D{
 public String c;
 /**
  * 子类重写父类的方法
  */
 public void t(){
  System.out.println("测试!!!");
 }
 public void test(){
  
 }
}
以上例子中:A类继承了D类,在A类中重新了从D中继承的函数。

如果分别调用A和D中的方法则结果是不同的,结果应为:

“测试

测试!!!”


(5)自动转型

子类类型的对象自动转型为父类类型的引用,最终是父类的类型

例如:D obj = new A();

特别注意的是:A必须是D的子类。

转型后对象调用的方法:如果子类重写父类的方法则调用重写后的方法,如果没有被重新,则调用父类自己的方法。


(6)多态

含义:多个同一个类型的引用,调用同一方法,而执行的流程不同即为多态。


4.简单的实例

计算机一些简单操作的实现(比如:关机,打开浏览器,运行QQ等)

总共有以下几步:

(1).实现界面

即计算机操作的界面,有一个FRame窗体和三个功能按钮实现(如图所示)

(2).实现按钮的监听功能

(3).完成按钮上的操作(实现效果如图)


代码如下:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ComputerOperationFrame extends JFrame {

 public static void main(String[] args)
 { 
  ComputerOperationFrame cof=new ComputerOperationFrame();
  cof.test(); 
 } 
 
 public void test(){//创建一个窗体对象
  //3.设置窗体标题
  this.setTitle("电脑操作界面");
  //4.设置界面大小
  this.setSize(300,300);
  //5.设置窗体位置
  this.setLocationRelativeTo(null);
  //6.设置窗体默认关闭方式
  this.setDefaultCloseOperation(1);
  //设置窗体布局
  FlowLayout f1=new FlowLayout();
  this.setLayout(f1);
  //7.添加按钮
  final JButton jb1=new JButton();
  jb1.setText("关机");
  this.add(jb1);
    
  JButton jb2=new JButton();
  jb2.setText("打开浏览器");
  this.add(jb2);
  
  JButton jb3=new JButton();
  jb3.setText("运行QQ");
  this.add(jb3);
  //2.设置窗体可见
  this.setVisible(true);
  //添加监听器
  ActionListener action=new ActionListener()
  {

   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    //监听过程,获取文本
    String str=e.getActionCommand();
    if("关机".equals(str))
    {//获取系统操作对象
     Runtime run=Runtime.getRuntime();
     try {
      run.exec("shutdown -s -t 10000");
     } catch (IOException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
     }
     //修改按钮文字
     jb1.setText("取消关机");
    }
    else if("打开浏览器".equals(str))
    {
     Runtime run=Runtime.getRuntime();
     try {
      run.exec("E:/YYExplorer/YYExplorer.exe --run-source-type=DesktopIcon ");
     } catch (IOException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
     } 
    }
    else if("运行QQ".equals(str))
    {
     Runtime run=Runtime.getRuntime();
     try {
      run.exec("F:/软件/bin/QQScLauncher.exe");
     } catch (IOException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
     } 
    }
    else if("取消关机".equals(str))
    {//获取系统操作对象
     Runtime run=Runtime.getRuntime();
     try {
      run.exec("shutdown -a");
     } catch (IOException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
     }
     //修改按钮文字
     
     jb1.setText("关机");
    }
   }
   
  };
  jb1.addActionListener(action);
  jb2.addActionListener(action);
  jb3.addActionListener(action);
   
  }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值