"Fatal square":Multiple inheritance and protocols

Last time we mentioned agreement,But we talk about it the way an application,This lesson we take a deeper look at this class and used up almost exactly what profound esoteric protocol。

Now,We again review the shameful inheritance tree once:

Here we wrote a weapon ...... is used for attack and defense。Then,As a game,Model weapons can not just only in one place,Otherwise development costs will be too high - we want to drain as much as possible the value of the code。

Communicate with the designers of our future,designers want[……]

Click link to continue reading...

protocol:Allowed instantiated class and method must be rewritten

Rewriting said method,We come back to look at the inheritance tree:

This should look okay,We can create an instance of the sword,Create an instance of a pistol ......

But if I have to write it?

So the question is:excavator……

Do not,Our problem is "weapon" in the end is what?

We say "animal",Man is an animal,Birds are animals,dog、Cats are animals,That there is no animal animals?

The answer is no[……]

Click link to continue reading...

customize:override!

Said so many times rewriting,This time we have to rewrite treat seriously what method。

contract

We say,Inheritance is the equivalent of signing a contract,We inherited out of the subclass must comply with this contract,So even if you want to do something where no contract,Must comply with contract specifications,so,You override methods,It must also comply with the type of process。

We talked about the type of approach,It ()->() This represented。so,Overridden method must also comply with this type of argument that is receiving the return parameter type to be the same as the name of the same ...... Need I say more?[……]

Click link to continue reading...

Polypeptide? Polymorphic!

We finished the last lesson inheritance,That this lesson we will continue in-depth,What to look at inheritance tree is big move。

You and I could talk about this polymorphic pronunciation,Your first thought should be a high school biology talked of "polypeptide";Ok,The only possibility is to pronounce the same between the two。

Inherited significance

We say that to achieve the extraordinary significance of inherited,It greatly reduces the number of redundant lines in our code,Reducing the difficulty of maintaining the code ......

In fact,I did not mention the inherited another sense - Contract。

A lesson we did a Demo,On behalf of the subclass inherits the parent class to get[……]

Click link to continue reading...

In the end how to do:"A" and "a"

Last time we specifically about the inheritance mechanism,And also designed an inheritance tree,So the question is:I'm not going to ask Excavator strong Which? I want to ask how to determine whether a class is a subclass of another class do? How do we design a class instead of a class of attributes?

"A" and "a"

Here we will use such a method to examine the relationship between the two of them:

we say,Pistol firearms --OK,no problem,So pistol This class is a subclass of firearms。

There is a sword sword,It is a cold steel - no problem,So that[……]

Click link to continue reading...

Recalling once again:Inheritance

This time we take a look at a few lessons in succession before mentioned,We had初见 OPEN In a development with a mobile phone (system) to describe inherited this thing chestnuts,I believe we have the impression。

Inheritance

So this lesson we will learn to understand the depth of the concept of inheritance。

This is actually not difficult to understand,You see,When your parents died,Then they will be up to you to inherit wealth - Well,This is not a very happy thing worth,But this is the fact that。[……]

Click link to continue reading...

It's not what you think:A program website

This lesson we try to develop a simple command-line games,To complete the experience a so-called "development process"。

This game is set:

This is a board game,We guess the location of enemy ships,As long as the number of hits you can send them to sink。

We give these ships the label affixed to point it ...... such a variety of sites?so,This has become a site of attack Behind his program ......。

Goal of the game

We want to attack the player with the least number of sites,It crushed。Then we scored based on the number of players guessing。

Roughly design

We draw a 7 * 7[……]

Click link to continue reading...

Computed properties and packaging

Before we in class,Take a look at the previously mentioned "SoC" concept,We say this is called "Separation of Concerns",I translate it as separation of duties - the different sections that focus on their part。Or a target to achieve a goal。

The goal not only to make the code more modular and easier to maintain,Also let the system run more efficiently。So,We want the communication between objects becomes more standardized job。

Data Hiding

You go and see you writing framework code that, when used,Which gives you direct show[……]

Click link to continue reading...

Stored value and reference

Declare a variable

We use var to declare a variable,Congguizili like a tube placed in the experimental stage;

We give a specified variable type,Just like in the test tube labeled the;

Then put reagents must be marked on the label - otherwise could cause an explosion or poisoning。

Same,If we try to give a reservoir into a wrong data type,Then the compiler will complain - yes there is always a way to be able to fool the compiler - anyway, I will not teach you this method,That would cause it to crash。[……]

Click link to continue reading...