Birisi size nesnenin ne olduğunu sorduğunda, nasıl cevap verirsiniz? Hedef benim oğlum / kız arkadaşım
Hahaha, böyle bir cevap kesinlikle programcı değilsin.
Sokakta durursanız, göreceksiniz: erkekler ve kadınlar ve farklı saçlara, farklı vücut şekillerine ve farklı saç renklerine sahip insanlar.
Elbette, bunlar toplu olarak gerçek dünyada nesneler olarak adlandırılabilir ve hepsinin ortak iki özelliği vardır: durumları ve davranışları.
Örneğin: evcil köpeğin durumu (adı, rengi, cinsi, açlık derecesi) ve davranışı (çağırma, yürüme, sallanma, yemek yeme, vb.);
Gerçek dünyadaki nesnelerin durumunu ve davranışını hızlı bir şekilde belirleyebilirseniz, nesne yönelimli programlama fikirlerini anlamak kolaydır.
Gerçek dünyada, çeşitli markaların bisikletleri, insanlar (erkekler ve kadınlar, farklı ülkelerden insanlar) gibi ortak noktaları olan birçok kişi vardır.
İnsanları örnek alırsak, insanlar kadın ve erkek olarak ikiye ayrılırlar, eğer üçüncü bir cinsiyetten insanlar olduğunu söylemek zorunda kalırsanız, sizi küçümsemeyeceğim.
Herkesin saçı, ağzı, burnu, elleri, kolları vardır;
İnsanlar yemek yiyebilir, içebilir, uyuyabilir, oynayabilir, ders çalışabilir, yürüyebilir vb.
O zaman bir durum olarak dışarıda olanı soyutlayabilirsiniz;
Eylemin ne olacağını özetleyin;
Aşağıdaki kodla yazılabilir:
public class Person {
private String adı; // adı
özel çift yükseklik; // Yükseklik
özel çift ağırlık; // ağırlık
private String sex; // Cinsiyet
özel int yaş; // yaş
özel String okulu; // okul
public String getName () {
dönüş adı;
}
public void setName (Dize adı) {
this.name = isim;
}
public double getHeight () {
dönüş yüksekliği;
}
public void setHeight (double height) {
this.height = yükseklik;
}
public double getWeight () {
dönüş ağırlığı;
}
public void setWeight (double weight) {
this.weight = ağırlık;
}
public String getSchool () {
okula dönüş;
}
public void setSchool (String okulu) {
this.school = okul;
}
public String getSex () {
dönüş seks;
}
public void setSex (Dize cinsiyeti) {
this.sex = seks;
}
public int getAge () {
dönüş yaşı;
}
public void setAge (int age) {
this.age = yaş;
}
// Kişisel bilgileri alın
public void getPersonInfomation () {
System.out.println ("[" + getName () + "] [" + getSex () + "] öğrenci, bu yıl [" + getAge () + "] yaşında, ağırlık [" + getWeight () + " , Yükseklik "+ getHeight () +", okula gidin "+ getSchool () +" ");
}
}
Ana yöntemle test sınıfı:
public class PersonTest {
public static void main (String args) {
Kişi xiaoming = yeni Kişi ();
xiaoming.setName (" ");
xiaoming.setAge (22);
xiaoming.setSex ("");
xiaoming.setHeight (175);
xiaoming.setWeight (113);
xiaoming.setSchool ("Shandong Jianzhu Üniversitesi");
Kişi xiaohong = yeni Kişi ();
xiaohong.setName ("");
xiaohong.setAge (21);
xiaohong.setSex ("");
xiaohong.setHeight (169);
xiaohong.setWeight (95);
xiaohong.setSchool ("Shandong Jianzhu Üniversitesi");
xiaoming.getPersonInfomation ();
xiaohong.getPersonInfomation ();
}
}
operasyon sonucu:
[Xiao Ming] bir [erkek] öğrenci, bu yıl [22] yaşında, kilosu [113,0], boyu [175,0], [Shandong Jianzhu Üniversitesi] 'nde okuyan
[Xiaohong], [Shandong Jianzhu Üniversitesi] 'de okuyan [kız] bir öğrenci, bu yıl [21] yaşında, ağırlık [95.0], boy [169.0]
Farklı türdeki nesnelerin genellikle belirli ortak noktaları vardır.
İnsanlar ve hayvanlar gibi burunları ve ağızları vardır, ancak bireysel olarak farklıdırlar.Hayvanların saçları varken insanların saçları vardır.
Daha sonra ortak noktaları çıkarabilirsiniz.
Ortak noktalar:
//Yaygın
public class PersonAndDogCommon {
private String adı; // adı
özel çift yükseklik; // Yükseklik
özel çift ağırlık; // ağırlık
private String sex; // Cinsiyet
özel int yaş; // yaş
public String getName () {
dönüş adı;
}
public void setName (Dize adı) {
this.name = isim;
}
public double getHeight () {
dönüş yüksekliği;
}
public void setHeight (double height) {
this.height = yükseklik;
}
public double getWeight () {
dönüş ağırlığı;
}
public void setWeight (double weight) {
this.weight = ağırlık;
}
public String getSex () {
dönüş seks;
}
public void setSex (Dize cinsiyeti) {
this.sex = seks;
}
public int getAge () {
dönüş yaşı;
}
public void setAge (int age) {
this.age = yaş;
}
}
insanlar:
public class Person, PersonAndDogCommon {
özel String okulu; // okul
public String getSchool () {
okula dönüş;
}
public void setSchool (String okulu) {
this.school = okul;
}
}
köpek:
//köpek
public class Dog, PersonAndDogCommon'u genişletiyor {
private String dogHome; // evcil hayvan evi
public String getDogHome () {
dönüş köpeği
}
public void setDogHome (String dogHome) {
this.dogHome = dogHome;
}
}
Arayüz, dış dünya ile etkileşim için arayüzdür
Örneğin: bilgisayarın USB bağlantı noktası, cep telefonunun kulaklık girişi, şarj bağlantı noktası, cep telefonunun ve bilgisayarın kapatma ve kapatma düğmelerinin tümü arabirim olarak kabul edilebilir.
Örnek olarak bir cep telefonunu ele alalım: cep telefonunun ses seviyesi (sesi aç, sesi alçalt, aç, kapat)
genel arayüz PhoneI {
public int addTheVolume (int volume); // Birim ekle
public int lowerTheVolume (int volume); // Birim ekle
public boolean startPhone (boolean status); // Gücü açın ve kapatın
}
public class Telefon, PhoneI'yi uygular {
private int volume; // birim
private boolean status; // Makine durumunu değiştir
@Override
public int addTheVolume (int volume) {
return (this.volume + this.volume + volume);
}
@Override
public int lowerTheVolume (int volume) {
return (this.volume = this.volume-volume);
}
@Override
public boolean startPhone (boolean durumu) {
dönüş (this.status =! durum);
}
}
Bir paket, bu türler için erişim koruması ve ad alanı yönetimi işlevleri sağlamak için birbirine bağlı türler (sınıflar, arabirimler, numaralandırmalar ve ek açıklamalar) olarak tanımlanabilir.
Java'daki bazı paketler:
java.lang-paketi temel sınıfları
Girdi ve çıktı işlevlerini içeren java.io işlevleri
Geliştiriciler, bir dizi sınıfı ve arabirimi kendi başlarına paketleyebilir ve kendi paketlerini tanımlayabilir. Ve gerçek geliştirmede, bunu yapmanız önerilir.Sınıfın uygulamasını kendiniz tamamladıktan sonra, ilgili sınıfları gruplayın, böylece diğer programcılar hangi sınıfların, arabirimlerin, numaralandırmaların ve ek açıklamaların ilişkili olduğunu daha kolay belirleyebilir. .
Paket yeni bir ad alanı oluşturduğundan, diğer paketlerdeki herhangi bir adla çakışmaz. Paket mekanizmasının kullanılması, erişim kontrolünün uygulanmasını kolaylaştırır ve ilgili sınıfları bulmayı kolaylaştırır.
Örneğin:
Telif hakkı bildirimi: Bu makale, CSDN blogger "TrueDei" nin orijinal makalesidir.
Orijinal bağlantı: https://blog.csdn.net/qq_17623363/article/details/104878559