Code I

<cfcomponent displayname="Address" hint="I represent an Address">
	<cfset variables.street = "" />
	<cfset variables.city = "" />
	<cfset variables.state = "" />
	<cfset variables.zip = "" />

	<cffunction name="init" access="public" returntype="Address" output="false">
		<cfargument name="street" type="string" required="true" />
		<cfargument name="city" type="string" required="true" />
		<cfargument name="state" type="string" required="true" />
		<cfargument name="zip" type="string" required="true" />

		<cfset setStreet(arguments.street) />
		<cfset setCity(arguments.city) />
		<cfset setState(arguments.state) />
		<cfset setZip(arguments.zip) />

		<cfreturn this />
	</cffunction>

	<cffunction name="getStreet" access="public" returntype="string"
	output="false">
  	<cfreturn variables.street />
   </cffunction>
	<cffunction name="setStreet" access="public" returntype="void"
	output="false">
   	<cfargument name="street" type="string" required="true" />
   	<cfset variables.street = arguments.street />
   </cffunction>

	<cffunction name="getCity" access="public" returntype="string"
	output="false">
   	<cfreturn variables.city />
   </cffunction>
	<cffunction name="setCity" access="public" returntype="void" output="false">
   	<cfargument name="city" type="string" required="true" />
   	<cfset variables.city = arguments.city />
   </cffunction>

	<cffunction name="getState" access="public" returntype="string"
	output="false">
   	<cfreturn variables.state />
   </cffunction>
	<cffunction name="setState" access="public" returntype="void"
	output="false">
   	<cfargument name="state" type="string" required="true" />
   	<cfset variables.state = arguments.state />
   </cffunction>

	<cffunction name="getZip" access="public" returntype="string"
	output="false">
   	<cfreturn variables.zip />
   </cffunction>
	<cffunction name="setZip" access="public" returntype="void" output="false">
   	<cfargument name="zip" type="string" required="true" />
   	<cfset variables.zip = arguments.zip />
   </cffunction>

</cfcomponent>