wrong Vector Assignment

Hello everyone, while I was making my first simple game (Block Breaker Game) in unity I have faced this problem which is strange. My problem is with this code :-

http://imgur.com/7tbYm1A

public class BallMovementManager : MonoBehaviour {

	public StrikerMovementManager strikermanager;
	private Vector3 BallPosition;
	// Use this for initialization
	void Start () {
		 BallPosition = this.transform.position - strikermanager.transform.position;
		print (BallPosition);
	}
	
	// Update is called once per frame
	void Update () {
		BallPosition= BallPosition + strikermanager.transform.position;
		this.transform.position=BallPosition;
		print (BallPosition);
	}
}

all I wan’t is that I need the ball to be centered at the surface of the Striker and this code gives me wrong vector all I’ve done is that I’ve subtracted the two vectors (Ball Vector and Striker Vector) to get the difference of the Y-Coordinate and then I added the vector of the Striker into the calculated Y-coordinate so that I’ve the ball centered at the Striker but that doesn’t make sense !

I’ve solved my problem by editing the code as follows :-

	void Update () {
		this.transform.position= BallPosition + strikermanager.transform.position;
		print (BallPosition);
	}
}

that worked perfectly, but I wan’t to know why the first code is wrong ?

Thanks a lot in advance.

Because you keep increasing ballposition

 BallPosition= BallPosition + strikermanager.transform.position;
         this.transform.position=BallPosition;