java物件導向編程(五)--四大特徵之抽象、封裝

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   使用   strong   檔案   

1.抽象

我們在前面去定義一個類時候,實際上就是把一類事物的共有的屬性和行為提取出來,形成一個物理模型(模版)。這種研究問題的方法稱為抽象。

2.封裝

封裝就是把抽象出來的資料和對資料的操作封裝在一起,資料被保護在內部,程式的其它部分只有通過被授權的操作(成員方法),才能對資料進行操作。

java中實現封裝的方法:

案例:不能隨便查看人的年齡,工資等隱私[Demo116.java]

//封裝案例[Demo116.java]public class Demo116{    public static void main(String []args){        //建立一個職員        Clerk clerk1=new Clerk("小花",24,4567.6f);        System.out.println("名字是"+clerk1.name+"薪水"+clerk1.getSal());    }}//職員class Clerk{    public String name;    //private私人的,public公有的    private int age;    private float salary;    public Clerk(String name,int age,float sal){        this.name=name;        this.age=age;        this.salary=sal;    }    //通過一個成員方法去控制和訪問私人的屬性    public float getSal(){        return this.salary;    }}

封裝--存取控制修飾符

java提供四種存取控制修飾符號控制方法和變數的存取權限:

1、公開層級:用public修飾,對外公開。

2、受保護層級:用protected修飾,對子類和同一個包中的類公開。

3、預設層級:沒有修飾符號,向同一個包的類公開。

4、私人層級:用private修飾,只有類本身可以訪問,不對外公開。

  

包的必要性

現在有兩個程式員共同開發一個java項目,程式員小明希望定義一個類取名Dog,程式員小強也想定義一個類也叫Dog。 問題由此便產生了,如何解決這個衝突呢?

--三大作用

1、區分相同名字的類

2、當類很多時,可以很好的管理類

3、控制存取範圍

由此可見,引入包遍很好的解決了上述問題。

打包命令

  package com.自訂名字;

注意:打包命令一般放在檔案開始處。

包命名規範

小寫字母,比如 com.sina.davis

常用的包

一個包下,包含很多的類,java中常用的包有:

java.lang.* 包 自動引入 java.util.* 工具包

java.net.* 包 網路開發包 java.awt.* 包 視窗工具包

如何引入包

文法:import 包;

比如import java.awt.*;

我們引入一個包的主要目的要使用該包下的類

 

至此,我們類的定義又可以完善一步了:

package包名;class 類名{    成員變數;    構造方法;    成員方法;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.