美文网首页
面向对象第二篇

面向对象第二篇

作者: 陶然然_niit | 来源:发表于2018-11-21 11:02 被阅读0次

面向对象三大特性:

1. 封装 package

封装是面向对象编程的核心思想。封装的载体是类,对象的属性和行为被封装在这个类中。
例子:

public class Fruit {
    //将水果的名称和价格封装起来
    private String fruitName;
    private String fruitPrice;
}

2.继承 inherit

概念:
子类继承父类,可以继承父类原有的属性和方法,也可以增加其他的属性和方法,可以直接重写父类中的某些方法。

例子1:

  • Human为父类
public class Human {
    public void eat(){
        System.out.println("人在吃饭");
    }
}
  • Student为子类
public class Student extends Human{
    @Override
    public void eat() {
        //调用父类的方法
        super.eat();
        System.out.println("学生在吃饭");
    }
}
  • 测试程序
public class StudentTest {
    public static void main(String[] args) {
        Human human = new Human();
        human.eat();
        Student student = new Student();
        student.eat();
    }
}
  • 运行结果


    image.png

例子2:
自定义组件:

  • 创建MyButton类,继承Button
import javafx.scene.control.Button;

/**
 * 自定义按钮
 */
public class MyButton extends Button {
    //自定义构造方法,实现一个指定宽和高和背景色的按钮
    public MyButton(){
        //给当前按钮对象设置合适的尺寸
       this.setPrefSize(100,35);
       //给当前按钮设置背景色、文本色、字体大小
       this.setStyle("-fx-background-color: rgb(19, 209, 190);-fx-font-size: 14px;-fx-text-fill: #FFFFFF");
    }
}
  • 使用这个按钮
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.*?>
<?import com.soft1841.oop.week1.MyButton?>
<AnchorPane xmlns="http://javafx.com/javafx"
            xmlns:fx="http://javafx.com/fxml"
            fx:controller="com.soft1841.oop.week1.ButtonController">
    <MyButton text="美团"
              AnchorPane.leftAnchor="100"
              AnchorPane.topAnchor="100"/>
    <MyButton text="设置"
              AnchorPane.leftAnchor="260"
              AnchorPane.topAnchor="100"/>
</AnchorPane>
  • 主程序
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.net.URL;

public class ButtonApp extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        URL location = getClass().getResource("/fxml/button.fxml");
        FXMLLoader fxmlLoader = new FXMLLoader(location);
        Parent root = fxmlLoader.load();
        Scene scene = new Scene(root,800,600);
        primaryStage.setTitle("自定义按钮");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
  • 运行效果


    自定义按钮

3.多态 polymorphism

  • 重载Overload

方法参数类型、个数、返回值不同,使得同名方法呈现不同的状态

  • 重写Override

子类继承父类,改写父类中的方法,使得子类和父类的同名方法呈现不同的状态

相关文章

  • 面向对象第二篇

    面向对象三大特性: 1. 封装 package 封装是面向对象编程的核心思想。封装的载体是类,对象的属性和行为被封...

  • 面向对象第二篇

    2.类之间的关系纵向关系:比较清晰 继承:父子关系——extends实现:类对接口的实现——implements横...

  • 面向对象第二篇

    类的继承 extends关键字 语法:Child extends Parents子类Child在继承了父类Pare...

  • 面向对象设计第二篇

    面向对象的三大特征 1封装:包括private 和project 封装是面向对象编程的核心思想。封装的载体是类,对...

  • C++ STL与泛型编程-第二篇 (Boolan)

    C++ STL与泛型编程-第二篇 (Boolan) 本章内容:1 OOP(面向对象编程) vs. GP(泛型编程)...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 总结.Net基础知识——献给即将入坑的同行们(一期)

    什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • 20-OOP类与对象

    面向对象 Object Oriented 学习面向对象:XXOO 面向对象的学习: 面向过程和面向对象的区别: 面...

网友评论

      本文标题:面向对象第二篇

      本文链接:https://www.haomeiwen.com/subject/htcqqqtx.html