关于Androidbob体育提现bob哪个彩靠谱权威的链接可能会使我们赢得佣金。学到更多。
什么是面向对象的编程?
Java是用于创建Android应用程序的主要语言。bob体育提现您可能已经听说过Java是一种“面向对象的”编程语言。但是,这恰恰是什么意思?
在面向对象的编程之前
理解“面向对象”的含义的最简单方法之一就是定义它是什么不是。在以对象为导向的编程(OOP)程序写入命令之前,本质上是一长串命令(指令)。在命令性编程中,您以撰写一篇文章的方式编写代码:从上到下。
在命令性编程中,您以撰写一篇文章的方式编写代码:从上到下。
实际上,我的第一种编程语言在ZX频谱上是基本的非常至关重要的。So much so, that all the lines were numbered as ’10, 20, 30’ etc. If I wanted the program to repeat something it had already done earlier, then I could use the command ‘GOTO 320’ to get it to jump back to a certain point and then continue to progress as before.
这种编程的问题在于,随着代码变大,它可能会变得非常复杂且难以导航。如果您已经构建了一个数百万行(常见)的程序,并且您的命令在该代码中看似随机的点之间跳跃,则几乎不可能遵循,或者在事情开始出错时发现错误。这就是某些人现在称为“意大利面条代码”的内容。
为了打击意大利面条,发明了新的编程语言,这些语言试图使代码更模块化,更结构化。这些新的程序语言促进了免费代码,并带有嵌套控制结构以及程序调用。过程(或函数)是执行任务的逻辑谨慎单元,给出了一定的输入。在程序和结构化编程之后,以对象为导向的编程。
面向对象的编程背后的想法
最好将OOP视为一种设计理念。使用程序语言,没有联系,所使用的数据与使用它们的程序之间没有关系。一个过程可以改变数据结构,然后看似无关的过程也可以改变它。使用OOP,程序(现在称为方法),并且数据本质上绑定在一起。
一个对象包含数据和行为
面向对象的编程的巨大副作用也就是它使我们与我们共享代码的容易其他人并构建更精致的程序,而不必自己处理最后一行。OOP是协作的理想选择,并促进了开源态度。
面向对象的编程有一定的优雅,虽然掌握要复杂得多,但一旦您就可以回报做抓住它。
什么是对象?
数据和方法在数据上的工作方式是通过将其绑在对象中。一个对象包含数据和行为。要定义对象,定义数据并定义其方法,请使用类。让我们想象您要创建一个代表银行帐户的课程。我们称之为bankaccount的班级会有一些数据帐户持有人NAMe,帐户numbeR和平衡。这些方法将是诸如getAccountholdername()或ductuctfromaccount()之类的东西。默认情况下,仅属于BankAccount类的方法有权处理与该类关联的数据。然后,通过限制对数据的访问,可以确保程序的其他部分都没有操纵其数据。这也意味着一个对象可以从其他对象隐藏其内部数据结构。
正确设计时,一个类(可能是一组其他因类 - 类内可以对继承相同属性和数据的类)进行重新编码和改进,而不会影响程序的其他部分。只要公共面向界面保持不变(API),并且只要功能保持一致。
这就是Android SDK的工bob体育提现作原理。Google经常发布新版本的SDK,但是我们的Android程序仍然像以前一样构建和工作,因为Google并没有改变行为,但是它bob体育提现可能会重新工作类的内部。
一个例子
为了展示所有这些工作方式,让我们看看我们如何为银行管理示例编写代码。我将两次分享代码:一次没有评论,这样您就可以在不妨碍我的情况下尝试一下并尝试解决它,一次和评论说明每行的作用。
公共类BankManager {public static void main(string [] args){bankAccount adamsaccount = new BankAccount();adamsaccount.setbalance(100);system.out.println(“平衡为:” + adamsaccount.getBalance());system.out.println(“他撤回14”);Adamsaccount.DeductFromAccount(14);system.out.println(“ new Balance是:” + adamsaccount.getBalance());}}公共类BankAccount {private int balance;public bankAccount(){} public void setBalance(int Balance){this.balance = balance;} public int getBalance(){返回余额;} public void扣除fromaccount(int撤回){this.balance = this.balance-撤回; } }
好的,现在在这里添加了评论。评论是在此之前的“ //”的任何内容,这意味着它不是代码的一部分。您经常会看到这些标记程序,以使它们更易于导航!
//类“ BankManager”类是文件的超类和名称。公共类BankManager {//通常,您需要在任何代码中使用一个类似于“ main”的代码中的一个类。这是代码将“启动”的地方。public static void main(string [] args){//使用类创建对象时,将其称为//创建该对象的“实例”。//在这里,我们正在创建一个名为“ Adamsaccount” //-的特定银行帐户,但是我们可以根据需要制作的数量!BankAccount Adamsaccount = new BankAccount();//这启动了“ setBalance”方法,该方法接受an // integer(number)作为参数//,因此我们将值100传递给我们银行帐户对象的此//实例的“余额”变量AdamsAccount。setbalance(100);//使用基本的Java IDE(编程环境)然后//'System.out.println'允许我们将数据输出到屏幕上。//在这里,我们正在输出一个字符串,然后是'getBalance'的返回字符串//此对象的私有整数余额,//我们将其设置为100 system.out.println(“余额为::“ + adamsaccount.getBalance()); System.out.println("He withdrew 14"); // This is a first method within our BankAccount class which accepts // another integer parameter // This time though, that number will be deducted from the // balance variable adamsAccount.deductFromAccount(14); // Finally, we retrieve and show the balance once again, which // should now have changed! System.out.println("New balance is: " + adamsAccount.getBalance()); } } public class BankAccount { // This is a private variable belonging to this class, meaning that we can't // access it from our 'main' class // i.e. We could not just write 'system.out.println(balance) // However a subclass - class within a class - would be able to access // this because it would 'inherit' it private int balance; private int interestRate; //This is called a 'constructor' and always needs to be present in a new class public BankAccount() { } // This is the method we reference when we set the balance. // Remember, we passed this method the integer 100, which will // now become the new balance public void setBalance(int balance) { // 'this' means 'this instance of the object'. // In other words, it means that we're talking about adamsAccount, // not any old account! this.balance = balance; } // Notice that this is not a method but rather an integer itself. // Because this返回整数,这意味着我们可以使用此//就像我们的代码公共int getalance(){return Balance;} //最后,此方法使用一些数学来撤回//从总体余额中撤回的金额公共void扣除fromaccount(int撤回){this.balance = this.balance -balance -toftal;}}}
不用担心,如果您不立即遵循所有这些内容,可能需要一些时间才能转过头来。对于那些纯粹从理论上看这个纯粹的人,希望这有助于说明您实际上如何在实践中使用对象和类。对于那些真正开始使用Java玩的人来说,也许这将有助于“ This”这样的短语似乎有些钝,并为为什么按照它们的方式进行构造的情况提供了一些背景!
向前进
这个兔子的洞非常深,但是如果您在所有这些方面苦苦挣扎,那么许多人会使用的类比是类似于蓝图来构建对象的蓝图,就像真正的蓝图建造房屋一样。同时,对象是行为(命令)和数据的集合,对代码的功能很有用。
OOP还有更多的优势。例如,一个对象可以从另一个对象派生。回到银行股票示例,如果银行还提供了储蓄帐户,则保存帐户是一种类型的bankAccount,但有一些额外的数据,例如利率。这也可能是一种新方法,例如计算介绍()。但是它仍然需要访问其他方法和数据平衡或扣除fromaccount()。
当一个从另一个类得出的类时,它被称为继承。从技术上讲,更通用的基类称为“超级类”,派生类称为子类。
但是,如果您确实想更好地了解用面向对象的编程语言进行编码的含义,那么我实际上建议您与Python一起玩一点。Python是一种特别简单,直接的编程语言,恰好使用对象和类。我以最佳方式使用“简单化”一词 - 它非常优雅,使整个概念更容易掌握,而Java对于新来者来说可能会令人生畏。
不过,一如既往,专注于学习你什么需要要知道完成您正在从事的工作。在您需要之前,不要对不必要的理论陷入困境!